Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/hakchi2.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElie Rodrigue <elie.rodrigue@nubik.ca>2017-05-09 16:44:53 +0300
committerElie Rodrigue <elie.rodrigue@nubik.ca>2017-05-09 16:44:53 +0300
commit7e13b4c8f0aa672b8f859585d8a5b966559f97eb (patch)
tree95551a8b9faa40d12a48948c406e1138a43afaa0
parent6e84fd6f7d834044943fc80d8bc9fe3a44c9398e (diff)
Basic game manager implantation, still a WIP
-rw-r--r--Apps/AppTypeCollection.cs342
-rw-r--r--Apps/NesMiniApplication.cs1131
-rw-r--r--FoldersManagerForm.cs1938
-rw-r--r--MainForm.Designer.cs2281
-rw-r--r--MainForm.cs2907
-rw-r--r--MainForm.resx6412
-rw-r--r--Manager/GameManager.cs205
-rw-r--r--NesDefaultGame.cs71
-rw-r--r--hakchi_gui.csproj3374
9 files changed, 9210 insertions, 9451 deletions
diff --git a/Apps/AppTypeCollection.cs b/Apps/AppTypeCollection.cs
index 79061fa3..c590b1d9 100644
--- a/Apps/AppTypeCollection.cs
+++ b/Apps/AppTypeCollection.cs
@@ -1,156 +1,186 @@
-using com.clusterrr.hakchi_gui.Properties;
-using System;
-using System.Collections.Generic;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-
-namespace com.clusterrr.hakchi_gui
-{
- static class AppTypeCollection
- {
- //public delegate NesMiniApplication
-
- public class AppInfo
- {
- public Type Class;
- public string[] Extensions;
- public string[] DefaultApps;
- public char Prefix;
- public Image DefaultCover;
- }
-
- public static AppInfo[] ApplicationTypes = new AppInfo[]
- {
- new AppInfo
- {
- Class = typeof(FdsGame),
- Extensions = new string[] {".fds"},
- DefaultApps = new string[] {},
- Prefix = 'D',
- DefaultCover = Resources.blank_fds
- },
- new AppInfo
- {
- Class = typeof(NesUGame),
- Extensions = new string[] {".nes", ".unf", ".unif"},
- DefaultApps = new string[] {"/bin/nes"},
- Prefix = 'I',
- DefaultCover = Resources.blank_jp
- },
- new AppInfo
- {
- Class = typeof(SnesGame),
- Extensions = new string[] { ".sfc", ".smc" },
- DefaultApps = new string[] {"/bin/snes"},
- Prefix = 'U',
- DefaultCover = Resources.blank_snes_us
- },
- new AppInfo
- {
- Class = typeof(N64Game),
- Extensions = new string[] { ".n64", ".z64", ".v64" },
- DefaultApps = new string[] {"/bin/n64"},
- Prefix = '6',
- DefaultCover = Resources.blank_n64
- },
- new AppInfo
- {
- Class = typeof(SmsGame),
- Extensions = new string[] { ".sms" },
- DefaultApps = new string[] {"/bin/sms"},
- Prefix = 'M',
- DefaultCover = Resources.blank_sms
- },
- new AppInfo
- {
- Class = typeof(GenesisGame),
- Extensions = new string[] { ".gen", ".md", ".smd" },
- DefaultApps = new string[] {"/bin/md"},
- Prefix = 'G',
- DefaultCover = Resources.blank_genesis
- },
- new AppInfo
- {
- Class = typeof(Sega32XGame),
- Extensions = new string[] { ".32x" },
- DefaultApps = new string[] {"/bin/32x"},
- Prefix = '3',
- DefaultCover = Resources.blank_32x
- },
- new AppInfo
- {
- Class = typeof(GbGame),
- Extensions = new string[] { ".gb" },
- DefaultApps = new string[] {"/bin/gb"},
- Prefix = 'B',
- DefaultCover = Resources.blank_gb
- },
- new AppInfo
- {
- Class = typeof(GbcGame),
- Extensions = new string[] {".gbc"},
- DefaultApps = new string[] {"/bin/gbc"},
- Prefix = 'C',
- DefaultCover = Resources.blank_gbc
- },
- new AppInfo
- {
- Class = typeof(GbaGame),
- Extensions = new string[] {".gba"},
- DefaultApps = new string[] {"/bin/gba"},
- Prefix = 'A',
- DefaultCover = Resources.blank_gba
- },
- new AppInfo
- {
- Class = typeof(PceGame),
- Extensions = new string[] {".pce"},
- DefaultApps = new string[] {"/bin/pce"},
- Prefix = 'E',
- DefaultCover = Resources.blank_pce
- },
- new AppInfo
- {
- Class = typeof(GameGearGame),
- Extensions = new string[] {".gg"},
- DefaultApps = new string[] {"/bin/gg"},
- Prefix = 'R',
- DefaultCover = Resources.blank_gg
- },
- new AppInfo
- {
- Class = typeof(GameGearGame),
- Extensions = new string[] {".a26"},
- DefaultApps = new string[] {"/bin/a26"},
- Prefix = 'T',
- DefaultCover = Resources.blank_2600
- },
- new AppInfo
- {
- Class = typeof(GameGearGame),
- Extensions = new string[] {},
- DefaultApps = new string[] {"/bin/fba", "/bin/mame", "/bin/cps2", "/bin/neogeo" },
- Prefix = 'X',
- DefaultCover = Resources.blank_arcade
- },
- };
-
- public static AppInfo GetAppByExtension(string extension)
- {
- foreach (var app in ApplicationTypes)
- if (Array.IndexOf(app.Extensions, extension) >= 0)
- return app;
- return null;
- }
-
- public static AppInfo GetAppByExec(string exec)
- {
- foreach (var app in ApplicationTypes)
- foreach (var cmd in app.DefaultApps)
- if (exec.StartsWith(cmd + " "))
- return app;
- return null;
- }
- }
-}
+using com.clusterrr.hakchi_gui.Properties;
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+
+namespace com.clusterrr.hakchi_gui
+{
+ static class AppTypeCollection
+ {
+ //public delegate NesMiniApplication
+
+ public class AppInfo
+ {
+ public string SystemName;
+ public List<Type> Class;
+ public string[] Extensions;
+ public string[] DefaultApps;
+ public char Prefix;
+ public Image DefaultCover;
+ }
+
+ public static AppInfo[] ApplicationTypes = new AppInfo[]
+ {
+ new AppInfo
+ {
+ SystemName = "Famicom Disk System",
+ Class = new List<Type>(){typeof(FdsGame) },
+ Extensions = new string[] {".fds"},
+ DefaultApps = new string[] {},
+ Prefix = 'D',
+ DefaultCover = Resources.blank_fds
+ },
+ new AppInfo
+ {
+ SystemName = "NES",
+ Class = new List<Type>(){typeof(NesUGame),typeof(NesGame) },
+ Extensions = new string[] {".nes", ".unf", ".unif"},
+ DefaultApps = new string[] {"/bin/nes"},
+ Prefix = 'I',
+ DefaultCover = Resources.blank_jp
+ },
+ new AppInfo
+ {
+ SystemName = "NES Default Game",
+ Class = new List<Type>(){typeof(NesDefaultGame),typeof(NesGame) },
+ Extensions = new string[] {},
+ DefaultApps = new string[] {},
+ Prefix = 'S',
+ DefaultCover = Resources.blank_nes
+ },
+ new AppInfo
+ {
+ SystemName = "SNES",
+ Class = new List<Type>(){typeof(SnesGame) },
+ Extensions = new string[] { ".sfc", ".smc" },
+ DefaultApps = new string[] {"/bin/snes"},
+ Prefix = 'U',
+ DefaultCover = Resources.blank_snes_us
+ },
+ new AppInfo
+ {
+ SystemName = "Nintendo 64",
+ Class = new List<Type>(){typeof(N64Game) },
+ Extensions = new string[] { ".n64", ".z64", ".v64" },
+ DefaultApps = new string[] {"/bin/n64"},
+ Prefix = '6',
+ DefaultCover = Resources.blank_n64
+ },
+ new AppInfo
+ {
+ SystemName = "Sega Master System",
+ Class = new List<Type>(){typeof(SmsGame) },
+ Extensions = new string[] { ".sms" },
+ DefaultApps = new string[] {"/bin/sms"},
+ Prefix = 'M',
+ DefaultCover = Resources.blank_sms
+ },
+ new AppInfo
+ {
+ SystemName = "Sega Genesis",
+ Class = new List<Type>(){typeof(GenesisGame) },
+ Extensions = new string[] { ".gen", ".md", ".smd" },
+ DefaultApps = new string[] {"/bin/md"},
+ Prefix = 'G',
+ DefaultCover = Resources.blank_genesis
+ },
+ new AppInfo
+ {
+ SystemName = "Sega 32X",
+ Class = new List<Type>(){ typeof(Sega32XGame) },
+ Extensions = new string[] { ".32x" },
+ DefaultApps = new string[] {"/bin/32x"},
+ Prefix = '3',
+ DefaultCover = Resources.blank_32x
+ },
+ new AppInfo
+ {
+ SystemName = "GameBoy",
+ Class = new List<Type>(){typeof(GbGame) },
+ Extensions = new string[] { ".gb" },
+ DefaultApps = new string[] {"/bin/gb"},
+ Prefix = 'B',
+ DefaultCover = Resources.blank_gb
+ },
+ new AppInfo
+ {
+ SystemName = "GameBoy Color",
+ Class = new List<Type>(){typeof(GbcGame) },
+ Extensions = new string[] {".gbc"},
+ DefaultApps = new string[] {"/bin/gbc"},
+ Prefix = 'C',
+ DefaultCover = Resources.blank_gbc
+ },
+ new AppInfo
+ {
+ SystemName = "GameBoy Advance",
+ Class = new List<Type>(){typeof(GbaGame) },
+ Extensions = new string[] {".gba"},
+ DefaultApps = new string[] {"/bin/gba"},
+ Prefix = 'A',
+ DefaultCover = Resources.blank_gba
+ },
+ new AppInfo
+ {
+ SystemName = "PC Engine",
+ Class = new List<Type>(){typeof(PceGame) },
+ Extensions = new string[] {".pce"},
+ DefaultApps = new string[] {"/bin/pce"},
+ Prefix = 'E',
+ DefaultCover = Resources.blank_pce
+ },
+ new AppInfo
+ {
+ SystemName = "Sega GameGear",
+ Class = new List<Type>(){typeof(GameGearGame) },
+ Extensions = new string[] {".gg"},
+ DefaultApps = new string[] {"/bin/gg"},
+ Prefix = 'R',
+ DefaultCover = Resources.blank_gg
+ },
+ new AppInfo
+ {
+ SystemName="Atari 2600",
+ Class = new List<Type>(){typeof(Atari2600Game) },
+ Extensions = new string[] {".a26"},
+ DefaultApps = new string[] {"/bin/a26"},
+ Prefix = 'T',
+ DefaultCover = Resources.blank_2600
+ },
+ new AppInfo
+ {
+ SystemName = "Arcade",
+ Class = new List<Type>(){typeof(GameGearGame) },
+ Extensions = new string[] {},
+ DefaultApps = new string[] {"/bin/fba", "/bin/mame", "/bin/cps2", "/bin/neogeo" },
+ Prefix = 'X',
+ DefaultCover = Resources.blank_arcade
+ },
+ };
+ public static AppInfo GetAppByClass(Type theClass)
+ {
+ foreach (var app in ApplicationTypes)
+ if(app.Class.Contains(theClass))
+ return app;
+ return null;
+ }
+ public static AppInfo GetAppByExtension(string extension)
+ {
+ foreach (var app in ApplicationTypes)
+ if (Array.IndexOf(app.Extensions, extension) >= 0)
+ return app;
+ return null;
+ }
+
+ public static AppInfo GetAppByExec(string exec)
+ {
+ foreach (var app in ApplicationTypes)
+ foreach (var cmd in app.DefaultApps)
+ if (exec.StartsWith(cmd + " "))
+ return app;
+ return null;
+ }
+ }
+}
diff --git a/Apps/NesMiniApplication.cs b/Apps/NesMiniApplication.cs
index d2b21946..9c730b3a 100644
--- a/Apps/NesMiniApplication.cs
+++ b/Apps/NesMiniApplication.cs
@@ -1,563 +1,568 @@
-using com.clusterrr.hakchi_gui.Properties;
-using SevenZip;
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Drawing;
-using System.Drawing.Imaging;
-using System.IO;
-using System.Text.RegularExpressions;
-using System.Windows.Forms;
-
-namespace com.clusterrr.hakchi_gui
-{
- public class NesMiniApplication : INesMenuElement
- {
- public readonly static string GamesDirectory = Path.Combine(Program.BaseDirectoryExternal, "games");
- const string DefaultReleaseDate = "1900-01-01";
- const string DefaultPublisher = "UNKNOWN";
-
- protected string code;
- public string Code
- {
- get { return code; }
- }
- public const char DefaultPrefix = 'Z';
- public static Image DefaultCover { get { return Resources.blank_app; } }
- internal const string DefaultApp = "/bin/path-to-your-app";
- public virtual string GoogleSuffix
- {
- get { return "game"; }
- }
-
- public readonly string GamePath;
- public readonly string ConfigPath;
- public readonly string IconPath;
- public readonly string SmallIconPath;
- protected string command;
- protected bool hasUnsavedChanges = true;
-
- private string name;
- public string Name
- {
- get { return name; }
- set
- {
- if (name != value) hasUnsavedChanges = true;
- name = value;
- }
- }
- public string Command
- {
- get { return command; }
- set
- {
- if (command != value) hasUnsavedChanges = true;
- command = value;
- }
- }
- private byte players;
- public byte Players
- {
- get { return players; }
- set
- {
- if (players != value) hasUnsavedChanges = true;
- players = value;
- }
- }
- private bool simultaneous;
- public bool Simultaneous
- {
- get { return simultaneous; }
- set
- {
- if (simultaneous != value) hasUnsavedChanges = true;
- simultaneous = value;
- }
- }
- private string releaseDate;
- public string ReleaseDate
- {
- get { return releaseDate; }
- set
- {
- if (releaseDate != value) hasUnsavedChanges = true;
- releaseDate = value;
- }
- }
- private string publisher;
- public string Publisher
- {
- get { return publisher; }
- set
- {
- if (publisher != value) hasUnsavedChanges = true;
- publisher = value;
- }
- }
-
- public static NesMiniApplication FromDirectory(string path, bool ignoreEmptyConfig = false)
- {
- var files = Directory.GetFiles(path, "*.desktop", SearchOption.TopDirectoryOnly);
- if (files.Length == 0)
- throw new FileNotFoundException("Invalid app folder");
- var config = File.ReadAllLines(files[0]);
- foreach (var line in config)
- {
- if (line.StartsWith("Exec="))
- {
- string command = line.Substring(5);
- if (command.StartsWith("/usr/bin/clover-kachikachi") || command.StartsWith("/bin/clover-kachikachi-wr"))
- {
- if (command.Contains(".nes"))
- return new NesGame(path, ignoreEmptyConfig);
- if (command.Contains(".fds"))
- return new FdsGame(path, ignoreEmptyConfig);
- }
- var app = AppTypeCollection.GetAppByExec(command);
- if (app != null)
- {
- var constructor = app.Class.GetConstructor(new Type[] { typeof(string), typeof(bool) });
- return (NesMiniApplication)constructor.Invoke(new object[] { path, ignoreEmptyConfig });
- }
- break;
- }
- }
- return new NesMiniApplication(path, ignoreEmptyConfig);
- }
-
- public static NesMiniApplication Import(string fileName, string sourceFile = null, byte[] rawRomData = null)
- {
- var extension = Path.GetExtension(fileName).ToLower();
- if (extension == ".desktop")
- return ImportApp(fileName);
- if (rawRomData == null)
- rawRomData = File.ReadAllBytes(fileName);
- var appinfo = AppTypeCollection.GetAppByExtension(extension);
- if (appinfo != null)
- {
- var import = appinfo.Class.GetMethod("Import", new Type[] { typeof(string), typeof(string), typeof(byte[]) });
- if (import != null)
- return (NesMiniApplication)import.Invoke(null, new object[] { fileName, sourceFile, rawRomData });
- else
- return Import(fileName, sourceFile, rawRomData, appinfo.Prefix,
- appinfo.DefaultApps.Length > 0 ? appinfo.DefaultApps[0] : DefaultApp,
- appinfo.DefaultCover, ConfigIni.Compress);
- }
- string application = extension.Length > 2 ? ("/bin/" + extension.Substring(1)) : DefaultApp;
- return Import(fileName, sourceFile, rawRomData, DefaultPrefix, application, DefaultCover);
- }
-
- private static NesMiniApplication Import(string fileName, string sourceFile, byte[] rawRomData, char prefixCode, string application, Image defaultCover, bool compress = false)
- {
- var crc32 = CRC32(rawRomData);
- var code = GenerateCode(crc32, prefixCode);
- var gamePath = Path.Combine(GamesDirectory, code);
- bool sevenZipped = false;
- if (compress)
- {
- string temp = null;
- try
- {
- if (!File.Exists(fileName))
- {
- temp = Path.Combine(Path.GetTempPath(), Path.GetFileName(fileName));
- File.WriteAllBytes(temp, rawRomData);
- rawRomData = Compress(temp);
- sevenZipped = true;
- }
- else
- {
- rawRomData = Compress(fileName);
- sevenZipped = true;
- }
- }
- catch (Exception ex)
- {
- Debug.WriteLine("Compression error: " + ex.Message + ex.Source);
- }
- finally
- {
- if (!string.IsNullOrEmpty(temp) && File.Exists(temp))
- File.Delete(temp);
- }
- }
- var romName = Regex.Replace(Path.GetFileName(fileName), @"[^A-Za-z0-9.-]", "_").Trim() + (sevenZipped ? ".7z" : "");
- var romPath = Path.Combine(gamePath, romName);
- if (Directory.Exists(gamePath))
- Directory.Delete(gamePath, true);
- Directory.CreateDirectory(gamePath);
- File.WriteAllBytes(romPath, rawRomData);
- var game = new NesMiniApplication(gamePath, true);
- game.Name = Path.GetFileNameWithoutExtension(fileName);
- game.Name = Regex.Replace(game.Name, @" ?\(.*?\)", string.Empty).Trim();
- game.Name = Regex.Replace(game.Name, @" ?\[.*?\]", string.Empty).Trim();
- game.Name = game.Name.Replace("_", " ").Replace(" ", " ").Trim();
- game.FindCover(fileName, sourceFile, defaultCover, crc32);
- game.Command = string.Format("{0} /usr/share/games/nes/kachikachi/{1}/{2}", application, code, romName);
- game.Save();
- return NesMiniApplication.FromDirectory(gamePath);
- }
-
- private static NesMiniApplication ImportApp(string fileName)
- {
- if (!File.Exists(fileName)) // Archives are not allowed
- throw new FileNotFoundException("Invalid app folder");
- var code = Path.GetFileNameWithoutExtension(fileName).ToUpper();
- var targetDir = Path.Combine(GamesDirectory, code);
- DirectoryCopy(Path.GetDirectoryName(fileName), targetDir, true);
- return FromDirectory(targetDir);
- }
-
- protected NesMiniApplication()
- {
- GamePath = null;
- ConfigPath = null;
- Players = 1;
- Simultaneous = false;
- ReleaseDate = DefaultReleaseDate;
- Publisher = DefaultPublisher;
- Command = "";
- }
-
- protected NesMiniApplication(string path, bool ignoreEmptyConfig = false)
- {
- GamePath = path;
- code = Path.GetFileName(path);
- Name = Code;
- ConfigPath = Path.Combine(path, Code + ".desktop");
- IconPath = Path.Combine(path, Code + ".png");
- SmallIconPath = Path.Combine(path, Code + "_small.png");
- Players = 1;
- Simultaneous = false;
- ReleaseDate = DefaultReleaseDate;
- Publisher = DefaultPublisher;
- Command = "";
-
- if (!File.Exists(ConfigPath))
- {
- if (ignoreEmptyConfig) return;
- throw new FileNotFoundException("Invalid application directory: " + path);
- }
- var configLines = File.ReadAllLines(ConfigPath);
- foreach (var line in configLines)
- {
- int pos = line.IndexOf('=');
- if (pos <= 0) continue;
- var param = line.Substring(0, pos).Trim().ToLower();
- var value = line.Substring(pos + 1).Trim();
- switch (param)
- {
- case "exec":
- Command = value;
- break;
- case "name":
- Name = value;
- break;
- case "players":
- Players = byte.Parse(value);
- break;
- case "simultaneous":
- Simultaneous = value != "0";
- break;
- case "releasedate":
- ReleaseDate = value;
- break;
- case "sortrawpublisher":
- Publisher = value;
- break;
- }
- }
- hasUnsavedChanges = false;
- }
-
- public virtual bool Save()
- {
- if (!hasUnsavedChanges) return false;
- Debug.WriteLine(string.Format("Saving application \"{0}\" as {1}", Name, Code));
- Name = Regex.Replace(Name, @"'(\d)", @"`$1"); // Apostrophe + any number in game name crashes whole system. What. The. Fuck?
- File.WriteAllText(ConfigPath, string.Format(
- "[Desktop Entry]\n" +
- "Type=Application\n" +
- "Exec={1}\n" +
- "Path=/var/lib/clover/profiles/0/{0}\n" +
- "Name={2}\n" +
- "Icon=/usr/share/games/nes/kachikachi/{0}/{0}.png\n\n" +
- "[X-CLOVER Game]\n" +
- "Code={0}\n" +
- "TestID=777\n" +
- "ID=0\n" +
- "Players={3}\n" +
- "Simultaneous={7}\n" +
- "ReleaseDate={4}\n" +
- "SaveCount=0\n" +
- "SortRawTitle={5}\n" +
- "SortRawPublisher={6}\n" +
- "Copyright=hakchi2 ©2017 Alexey 'Cluster' Avdyukhin\n",
- Code, command, Name ?? Code, Players, ReleaseDate ?? DefaultReleaseDate,
- (Name ?? Code).ToLower(), (Publisher ?? DefaultPublisher).ToUpper(),
- Simultaneous ? 1 : 0));
- hasUnsavedChanges = false;
- return true;
- }
-
- public override string ToString()
- {
- return Name;
- }
-
- public Image Image
- {
- set
- {
- SetImage(value);
- }
- get
- {
- if (File.Exists(IconPath))
- return LoadBitmap(IconPath);
- else
- return null;
- }
- }
-
- private void SetImage(Image image, bool EightBitCompression = false)
- {
- Bitmap outImage;
- Bitmap outImageSmall;
- Graphics gr;
-
- // Just keep aspect ratio
- const int maxX = 204;
- const int maxY = 204;
- if ((double)image.Width / (double)image.Height > (double)maxX / (double)maxY)
- outImage = new Bitmap(maxX, (int)((double)maxY * (double)image.Height / (double)image.Width));
- else
- outImage = new Bitmap((int)(maxX * (double)image.Width / (double)image.Height), maxY);
-
- int maxXsmall = 40;
- int maxYsmall = 40;
- if ((double)image.Width / (double)image.Height > (double)maxXsmall / (double)maxYsmall)
- outImageSmall = new Bitmap(maxXsmall, (int)((double)maxYsmall * (double)image.Height / (double)image.Width));
- else
- outImageSmall = new Bitmap((int)(maxXsmall * (double)image.Width / (double)image.Height), maxYsmall);
-
- gr = Graphics.FromImage(outImage);
- gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
- gr.DrawImage(image, new Rectangle(0, 0, outImage.Width, outImage.Height),
- new Rectangle(0, 0, image.Width, image.Height), GraphicsUnit.Pixel);
- gr.Flush();
- outImage.Save(IconPath, ImageFormat.Png);
- gr = Graphics.FromImage(outImageSmall);
- gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
- gr.DrawImage(outImage, new Rectangle(0, 0, outImageSmall.Width, outImageSmall.Height),
- new Rectangle(0, 0, outImage.Width, outImage.Height), GraphicsUnit.Pixel);
- gr.Flush();
- outImageSmall.Save(SmallIconPath, ImageFormat.Png);
- }
-
- internal bool FindCover(string romFileName, string sourceFileName, Image defaultCover, uint crc32 = 0)
- {
- // Trying to find cover file
- Image cover = null;
- if (!string.IsNullOrEmpty(romFileName))
- {
- if (!string.IsNullOrEmpty(sourceFileName) && sourceFileName != romFileName)
- {
- var archImagePath = Path.Combine(Path.GetDirectoryName(sourceFileName), Path.GetFileNameWithoutExtension(romFileName) + ".png");
- if (File.Exists(archImagePath))
- cover = LoadBitmap(archImagePath);
- archImagePath = Path.Combine(Path.GetDirectoryName(sourceFileName), Path.GetFileNameWithoutExtension(romFileName) + ".jpg");
- if (File.Exists(archImagePath))
- cover = LoadBitmap(archImagePath);
- }
- var imagePath = Path.Combine(Path.GetDirectoryName(romFileName), Path.GetFileNameWithoutExtension(romFileName) + ".png");
- if (File.Exists(imagePath))
- cover = LoadBitmap(imagePath);
- imagePath = Path.Combine(Path.GetDirectoryName(romFileName), Path.GetFileNameWithoutExtension(romFileName) + ".jpg");
- if (File.Exists(imagePath))
- cover = LoadBitmap(imagePath);
- var artDirectory = Path.Combine(Program.BaseDirectoryExternal, "art");
- Directory.CreateDirectory(artDirectory);
- imagePath = Path.Combine(artDirectory, Path.GetFileNameWithoutExtension(romFileName) + ".png");
- if (File.Exists(imagePath))
- cover = LoadBitmap(imagePath);
- imagePath = Path.Combine(artDirectory, Path.GetFileNameWithoutExtension(romFileName) + ".jpg");
- if (File.Exists(imagePath))
- cover = LoadBitmap(imagePath);
- if (crc32 != 0)
- {
- var covers = Directory.GetFiles(artDirectory, string.Format("{0:X8}*.*", crc32), SearchOption.AllDirectories);
- if (covers.Length > 0)
- cover = LoadBitmap(covers[0]);
- }
- }
- if (cover == null)
- {
- Image = defaultCover;
- return false;
- }
- Image = cover;
- return true;
- }
-
- protected static string GenerateCode(uint crc32, char prefixCode)
- {
- return string.Format("CLV-{5}-{0}{1}{2}{3}{4}",
- (char)('A' + (crc32 % 26)),
- (char)('A' + (crc32 >> 5) % 26),
- (char)('A' + ((crc32 >> 10) % 26)),
- (char)('A' + ((crc32 >> 15) % 26)),
- (char)('A' + ((crc32 >> 20) % 26)),
- prefixCode);
- }
-
- public NesMiniApplication CopyTo(string path)
- {
- var targetDir = Path.Combine(path, code);
- DirectoryCopy(GamePath, targetDir, true);
- return FromDirectory(targetDir);
- }
-
- internal static long DirectoryCopy(string sourceDirName, string destDirName, bool copySubDirs)
- {
- long size = 0;
- // Get the subdirectories for the specified directory.
- DirectoryInfo dir = new DirectoryInfo(sourceDirName);
-
- if (!dir.Exists)
- {
- throw new DirectoryNotFoundException(
- "Source directory does not exist or could not be found: "
- + sourceDirName);
- }
-
- DirectoryInfo[] dirs = dir.GetDirectories();
- // If the destination directory doesn't exist, create it.
- if (!Directory.Exists(destDirName))
- {
- Directory.CreateDirectory(destDirName);
- }
-
- // Get the files in the directory and copy them to the new location.
- FileInfo[] files = dir.GetFiles();
- foreach (FileInfo file in files)
- {
- string temppath = Path.Combine(destDirName, file.Name);
- size += file.CopyTo(temppath, true).Length;
- }
-
- // If copying subdirectories, copy them and their contents to new location.
- if (copySubDirs)
- {
- foreach (DirectoryInfo subdir in dirs)
- {
- string temppath = Path.Combine(destDirName, subdir.Name);
- size += DirectoryCopy(subdir.FullName, temppath, copySubDirs);
- }
- }
- return size;
- }
-
- public long Size(string path = null)
- {
- if (path == null)
- path = GamePath;
- long size = 0;
- // Get the subdirectories for the specified directory.
- DirectoryInfo dir = new DirectoryInfo(path);
-
- if (!dir.Exists)
- {
- throw new DirectoryNotFoundException(
- "Source directory does not exist or could not be found: "
- + path);
- }
-
- DirectoryInfo[] dirs = dir.GetDirectories();
- FileInfo[] files = dir.GetFiles();
- foreach (FileInfo file in files)
- {
- size += file.Length;
- }
- foreach (DirectoryInfo subdir in dirs)
- {
- size += Size(subdir.FullName);
- }
- return size;
- }
-
- protected static uint CRC32(byte[] data)
- {
- uint poly = 0xedb88320;
- uint[] table = new uint[256];
- uint temp = 0;
- for (uint i = 0; i < table.Length; ++i)
- {
- temp = i;
- for (int j = 8; j > 0; --j)
- {
- if ((temp & 1) == 1)
- {
- temp = (uint)((temp >> 1) ^ poly);
- }
- else
- {
- temp >>= 1;
- }
- }
- table[i] = temp;
- }
- uint crc = 0xffffffff;
- for (int i = 0; i < data.Length; ++i)
- {
- byte index = (byte)(((crc) & 0xff) ^ data[i]);
- crc = (uint)((crc >> 8) ^ table[index]);
- }
- return ~crc;
- }
-
- public static Bitmap LoadBitmap(string path)
- {
- //Open file in read only mode
- using (FileStream stream = new FileStream(path, FileMode.Open, FileAccess.Read))
- //Get a binary reader for the file stream
- using (BinaryReader reader = new BinaryReader(stream))
- {
- //copy the content of the file into a memory stream
- var memoryStream = new MemoryStream(reader.ReadBytes((int)stream.Length));
- //make a new Bitmap object the owner of the MemoryStream
- return new Bitmap(memoryStream);
- }
- }
-
- private static byte[] Compress(string filename)
- {
- SevenZipExtractor.SetLibraryPath(Path.Combine(Program.BaseDirectoryInternal, IntPtr.Size == 8 ? @"tools\7z64.dll" : @"tools\7z.dll"));
- var arch = new MemoryStream();
- var compressor = new SevenZipCompressor();
- compressor.CompressionLevel = CompressionLevel.High;
- compressor.CompressFiles(arch, filename);
- arch.Seek(0, SeekOrigin.Begin);
- var result = new byte[arch.Length];
- arch.Read(result, 0, result.Length);
- return result;
- }
-
- public class NesMiniAppEqualityComparer : IEqualityComparer<NesMiniApplication>
- {
- public bool Equals(NesMiniApplication x, NesMiniApplication y)
- {
- return x.Code == y.Code;
- }
-
- public int GetHashCode(NesMiniApplication obj)
- {
- return obj.Code.GetHashCode();
- }
- }
- }
-}
-
+using com.clusterrr.hakchi_gui.Properties;
+using SevenZip;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Drawing;
+using System.Drawing.Imaging;
+using System.IO;
+using System.Text.RegularExpressions;
+using System.Windows.Forms;
+
+namespace com.clusterrr.hakchi_gui
+{
+ public class NesMiniApplication : INesMenuElement
+ {
+ public readonly static string GamesDirectory = Path.Combine(Program.BaseDirectoryExternal, "games");
+ const string DefaultReleaseDate = "1900-01-01";
+ const string DefaultPublisher = "UNKNOWN";
+ public bool Selected = false;
+ protected string code;
+ public string Code
+ {
+ get { return code; }
+ }
+ public const char DefaultPrefix = 'Z';
+ public static Image DefaultCover { get { return Resources.blank_app; } }
+ internal const string DefaultApp = "/bin/path-to-your-app";
+ public virtual string GoogleSuffix
+ {
+ get { return "game"; }
+ }
+
+ public readonly string GamePath;
+ public readonly string ConfigPath;
+ public readonly string IconPath;
+ public readonly string SmallIconPath;
+ protected string command;
+ protected bool hasUnsavedChanges = true;
+
+ private string name;
+ public string Name
+ {
+ get { return name; }
+ set
+ {
+ if (name != value) hasUnsavedChanges = true;
+ name = value;
+ }
+ }
+ public string Command
+ {
+ get { return command; }
+ set
+ {
+ if (command != value) hasUnsavedChanges = true;
+ command = value;
+ }
+ }
+ private byte players;
+ public byte Players
+ {
+ get { return players; }
+ set
+ {
+ if (players != value) hasUnsavedChanges = true;
+ players = value;
+ }
+ }
+ private bool simultaneous;
+ public bool Simultaneous
+ {
+ get { return simultaneous; }
+ set
+ {
+ if (simultaneous != value) hasUnsavedChanges = true;
+ simultaneous = value;
+ }
+ }
+ private string releaseDate;
+ public string ReleaseDate
+ {
+ get { return releaseDate; }
+ set
+ {
+ if (releaseDate != value) hasUnsavedChanges = true;
+ releaseDate = value;
+ }
+ }
+ private string publisher;
+ public string Publisher
+ {
+ get { return publisher; }
+ set
+ {
+ if (publisher != value) hasUnsavedChanges = true;
+ publisher = value;
+ }
+ }
+
+ public static NesMiniApplication FromDirectory(string path, bool ignoreEmptyConfig = false)
+ {
+ var files = Directory.GetFiles(path, "*.desktop", SearchOption.TopDirectoryOnly);
+ if (files.Length == 0)
+ throw new FileNotFoundException("Invalid app folder");
+ var config = File.ReadAllLines(files[0]);
+ foreach (var line in config)
+ {
+ if (line.StartsWith("Exec="))
+ {
+ string command = line.Substring(5);
+ if (command.StartsWith("/usr/bin/clover-kachikachi") || command.StartsWith("/bin/clover-kachikachi-wr"))
+ {
+ if (command.Contains(".nes"))
+ return new NesGame(path, ignoreEmptyConfig);
+ if (command.Contains(".fds"))
+ return new FdsGame(path, ignoreEmptyConfig);
+ }
+ var app = AppTypeCollection.GetAppByExec(command);
+ if (app != null)
+ {
+ var constructor = app.Class[0].GetConstructor(new Type[] { typeof(string), typeof(bool) });
+ return (NesMiniApplication)constructor.Invoke(new object[] { path, ignoreEmptyConfig });
+ }
+ break;
+ }
+ }
+ return new NesMiniApplication(path, ignoreEmptyConfig);
+ }
+
+ public static NesMiniApplication Import(string fileName, string sourceFile = null, byte[] rawRomData = null)
+ {
+ var extension = Path.GetExtension(fileName).ToLower();
+ if (extension == ".desktop")
+ return ImportApp(fileName);
+ if (rawRomData == null)
+ rawRomData = File.ReadAllBytes(fileName);
+ var appinfo = AppTypeCollection.GetAppByExtension(extension);
+ if (appinfo != null)
+ {
+ var import = appinfo.Class[0].GetMethod("Import", new Type[] { typeof(string), typeof(string), typeof(byte[]) });
+ if (import != null)
+ return (NesMiniApplication)import.Invoke(null, new object[] { fileName, sourceFile, rawRomData });
+ else
+ return Import(fileName, sourceFile, rawRomData, appinfo.Prefix,
+ appinfo.DefaultApps.Length > 0 ? appinfo.DefaultApps[0] : DefaultApp,
+ appinfo.DefaultCover, ConfigIni.Compress);
+ }
+ string application = extension.Length > 2 ? ("/bin/" + extension.Substring(1)) : DefaultApp;
+ return Import(fileName, sourceFile, rawRomData, DefaultPrefix, application, DefaultCover);
+ }
+
+ private static NesMiniApplication Import(string fileName, string sourceFile, byte[] rawRomData, char prefixCode, string application, Image defaultCover, bool compress = false)
+ {
+ var crc32 = CRC32(rawRomData);
+ var code = GenerateCode(crc32, prefixCode);
+ var gamePath = Path.Combine(GamesDirectory, code);
+ bool sevenZipped = false;
+ if (compress)
+ {
+ string temp = null;
+ try
+ {
+ if (!File.Exists(fileName))
+ {
+ temp = Path.Combine(Path.GetTempPath(), Path.GetFileName(fileName));
+ File.WriteAllBytes(temp, rawRomData);
+ rawRomData = Compress(temp);
+ sevenZipped = true;
+ }
+ else
+ {
+ rawRomData = Compress(fileName);
+ sevenZipped = true;
+ }
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine("Compression error: " + ex.Message + ex.Source);
+ }
+ finally
+ {
+ if (!string.IsNullOrEmpty(temp) && File.Exists(temp))
+ File.Delete(temp);
+ }
+ }
+ var romName = Regex.Replace(Path.GetFileName(fileName), @"[^A-Za-z0-9.-]", "_").Trim() + (sevenZipped ? ".7z" : "");
+ var romPath = Path.Combine(gamePath, romName);
+ if (Directory.Exists(gamePath))
+ Directory.Delete(gamePath, true);
+ Directory.CreateDirectory(gamePath);
+ File.WriteAllBytes(romPath, rawRomData);
+ var game = new NesMiniApplication(gamePath, true);
+ game.Name = Path.GetFileNameWithoutExtension(fileName);
+ game.Name = Regex.Replace(game.Name, @" ?\(.*?\)", string.Empty).Trim();
+ game.Name = Regex.Replace(game.Name, @" ?\[.*?\]", string.Empty).Trim();
+ game.Name = game.Name.Replace("_", " ").Replace(" ", " ").Trim();
+ game.FindCover(fileName, sourceFile, defaultCover, crc32);
+ game.Command = string.Format("{0} /usr/share/games/nes/kachikachi/{1}/{2}", application, code, romName);
+ game.Save();
+ return NesMiniApplication.FromDirectory(gamePath);
+ }
+
+ private static NesMiniApplication ImportApp(string fileName)
+ {
+ if (!File.Exists(fileName)) // Archives are not allowed
+ throw new FileNotFoundException("Invalid app folder");
+ var code = Path.GetFileNameWithoutExtension(fileName).ToUpper();
+ var targetDir = Path.Combine(GamesDirectory, code);
+ DirectoryCopy(Path.GetDirectoryName(fileName), targetDir, true);
+ return FromDirectory(targetDir);
+ }
+
+ protected NesMiniApplication()
+ {
+ GamePath = null;
+ ConfigPath = null;
+ Players = 1;
+ Simultaneous = false;
+ ReleaseDate = DefaultReleaseDate;
+ Publisher = DefaultPublisher;
+ Command = "";
+ }
+
+ protected NesMiniApplication(string path, bool ignoreEmptyConfig = false)
+ {
+ GamePath = path;
+ code = Path.GetFileName(path);
+ Name = Code;
+ ConfigPath = Path.Combine(path, Code + ".desktop");
+ IconPath = Path.Combine(path, Code + ".png");
+ SmallIconPath = Path.Combine(path, Code + "_small.png");
+ Players = 1;
+ Simultaneous = false;
+ ReleaseDate = DefaultReleaseDate;
+ Publisher = DefaultPublisher;
+ Command = "";
+
+ if (!File.Exists(ConfigPath))
+ {
+ if (ignoreEmptyConfig) return;
+ throw new FileNotFoundException("Invalid application directory: " + path);
+ }
+ var configLines = File.ReadAllLines(ConfigPath);
+ foreach (var line in configLines)
+ {
+ int pos = line.IndexOf('=');
+ if (pos <= 0) continue;
+ var param = line.Substring(0, pos).Trim().ToLower();
+ var value = line.Substring(pos + 1).Trim();
+ switch (param)
+ {
+ case "exec":
+ Command = value;
+ break;
+ case "name":
+ Name = value;
+ break;
+ case "players":
+ Players = byte.Parse(value);
+ break;
+ case "simultaneous":
+ Simultaneous = value != "0";
+ break;
+ case "releasedate":
+ ReleaseDate = value;
+ break;
+ case "sortrawpublisher":
+ Publisher = value;
+ break;
+ }
+ }
+ hasUnsavedChanges = false;
+ }
+
+ public virtual bool Save()
+ {
+
+ if (!hasUnsavedChanges) return false;
+ Debug.WriteLine(string.Format("Saving application \"{0}\" as {1}", Name, Code));
+ Name = Regex.Replace(Name, @"'(\d)", @"`$1"); // Apostrophe + any number in game name crashes whole system. What. The. Fuck?
+ File.WriteAllText(ConfigPath, string.Format(
+ "[Desktop Entry]\n" +
+ "Type=Application\n" +
+ "Exec={1}\n" +
+ "Path=/var/lib/clover/profiles/0/{0}\n" +
+ "Name={2}\n" +
+ "Icon=/usr/share/games/nes/kachikachi/{0}/{0}.png\n\n" +
+ "[X-CLOVER Game]\n" +
+ "Code={0}\n" +
+ "TestID=777\n" +
+ "ID=0\n" +
+ "Players={3}\n" +
+ "Simultaneous={7}\n" +
+ "ReleaseDate={4}\n" +
+ "SaveCount=0\n" +
+ "SortRawTitle={5}\n" +
+ "SortRawPublisher={6}\n" +
+ "Copyright=hakchi2 ©2017 Alexey 'Cluster' Avdyukhin\n",
+ Code, command, Name ?? Code, Players, ReleaseDate ?? DefaultReleaseDate,
+ (Name ?? Code).ToLower(), (Publisher ?? DefaultPublisher).ToUpper(),
+ Simultaneous ? 1 : 0));
+ hasUnsavedChanges = false;
+ return true;
+ }
+
+ public override string ToString()
+ {
+ return Name;
+ }
+
+ public Image Image
+ {
+ set
+ {
+ SetImage(value);
+ }
+ get
+ {
+ if (File.Exists(IconPath))
+ return LoadBitmap(IconPath);
+ else
+ return null;
+ }
+ }
+
+ private void SetImage(Image image, bool EightBitCompression = false)
+ {
+ Bitmap outImage;
+ Bitmap outImageSmall;
+ Graphics gr;
+
+ // Just keep aspect ratio
+ const int maxX = 204;
+ const int maxY = 204;
+ if ((double)image.Width / (double)image.Height > (double)maxX / (double)maxY)
+ outImage = new Bitmap(maxX, (int)((double)maxY * (double)image.Height / (double)image.Width));
+ else
+ outImage = new Bitmap((int)(maxX * (double)image.Width / (double)image.Height), maxY);
+
+ int maxXsmall = 40;
+ int maxYsmall = 40;
+ if ((double)image.Width / (double)image.Height > (double)maxXsmall / (double)maxYsmall)
+ outImageSmall = new Bitmap(maxXsmall, (int)((double)maxYsmall * (double)image.Height / (double)image.Width));
+ else
+ outImageSmall = new Bitmap((int)(maxXsmall * (double)image.Width / (double)image.Height), maxYsmall);
+
+ gr = Graphics.FromImage(outImage);
+ gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
+ gr.DrawImage(image, new Rectangle(0, 0, outImage.Width, outImage.Height),
+ new Rectangle(0, 0, image.Width, image.Height), GraphicsUnit.Pixel);
+ gr.Flush();
+ outImage.Save(IconPath, ImageFormat.Png);
+ gr = Graphics.FromImage(outImageSmall);
+ gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
+ gr.DrawImage(outImage, new Rectangle(0, 0, outImageSmall.Width, outImageSmall.Height),
+ new Rectangle(0, 0, outImage.Width, outImage.Height), GraphicsUnit.Pixel);
+ gr.Flush();
+ outImageSmall.Save(SmallIconPath, ImageFormat.Png);
+ }
+
+ internal bool FindCover(string romFileName, string sourceFileName, Image defaultCover, uint crc32 = 0)
+ {
+ // Trying to find cover file
+ Image cover = null;
+ if (!string.IsNullOrEmpty(romFileName))
+ {
+ if (!string.IsNullOrEmpty(sourceFileName) && sourceFileName != romFileName)
+ {
+ var archImagePath = Path.Combine(Path.GetDirectoryName(sourceFileName), Path.GetFileNameWithoutExtension(romFileName) + ".png");
+ if (File.Exists(archImagePath))
+ cover = LoadBitmap(archImagePath);
+ archImagePath = Path.Combine(Path.GetDirectoryName(sourceFileName), Path.GetFileNameWithoutExtension(romFileName) + ".jpg");
+ if (File.Exists(archImagePath))
+ cover = LoadBitmap(archImagePath);
+ }
+ var imagePath = Path.Combine(Path.GetDirectoryName(romFileName), Path.GetFileNameWithoutExtension(romFileName) + ".png");
+ if (File.Exists(imagePath))
+ cover = LoadBitmap(imagePath);
+ imagePath = Path.Combine(Path.GetDirectoryName(romFileName), Path.GetFileNameWithoutExtension(romFileName) + ".jpg");
+ if (File.Exists(imagePath))
+ cover = LoadBitmap(imagePath);
+ var artDirectory = Path.Combine(Program.BaseDirectoryExternal, "art");
+ Directory.CreateDirectory(artDirectory);
+ imagePath = Path.Combine(artDirectory, Path.GetFileNameWithoutExtension(romFileName) + ".png");
+ if (File.Exists(imagePath))
+ cover = LoadBitmap(imagePath);
+ imagePath = Path.Combine(artDirectory, Path.GetFileNameWithoutExtension(romFileName) + ".jpg");
+ if (File.Exists(imagePath))
+ cover = LoadBitmap(imagePath);
+ if (crc32 != 0)
+ {
+ var covers = Directory.GetFiles(artDirectory, string.Format("{0:X8}*.*", crc32), SearchOption.AllDirectories);
+ if (covers.Length > 0)
+ cover = LoadBitmap(covers[0]);
+ }
+ }
+ if (cover == null)
+ {
+ Image = defaultCover;
+ return false;
+ }
+ Image = cover;
+ return true;
+ }
+
+ protected static string GenerateCode(uint crc32, char prefixCode)
+ {
+ return string.Format("CLV-{5}-{0}{1}{2}{3}{4}",
+ (char)('A' + (crc32 % 26)),
+ (char)('A' + (crc32 >> 5) % 26),
+ (char)('A' + ((crc32 >> 10) % 26)),
+ (char)('A' + ((crc32 >> 15) % 26)),
+ (char)('A' + ((crc32 >> 20) % 26)),
+ prefixCode);
+ }
+
+ public NesMiniApplication CopyTo(string path)
+ {
+ var targetDir = Path.Combine(path, code);
+ DirectoryCopy(GamePath, targetDir, true);
+ return FromDirectory(targetDir);
+ }
+
+ internal static long DirectoryCopy(string sourceDirName, string destDirName, bool copySubDirs)
+ {
+ long size = 0;
+ // Get the subdirectories for the specified directory.
+ DirectoryInfo dir = new DirectoryInfo(sourceDirName);
+
+ if (!dir.Exists)
+ {
+ throw new DirectoryNotFoundException(
+ "Source directory does not exist or could not be found: "
+ + sourceDirName);
+ }
+
+ DirectoryInfo[] dirs = dir.GetDirectories();
+ // If the destination directory doesn't exist, create it.
+ if (!Directory.Exists(destDirName))
+ {
+ Directory.CreateDirectory(destDirName);
+ }
+
+ // Get the files in the directory and copy them to the new location.
+ FileInfo[] files = dir.GetFiles();
+ foreach (FileInfo file in files)
+ {
+ string temppath = Path.Combine(destDirName, file.Name);
+ size += file.CopyTo(temppath, true).Length;
+ }
+
+ // If copying subdirectories, copy them and their contents to new location.
+ if (copySubDirs)
+ {
+ foreach (DirectoryInfo subdir in dirs)
+ {
+ string temppath = Path.Combine(destDirName, subdir.Name);
+ size += DirectoryCopy(subdir.FullName, temppath, copySubDirs);
+ }
+ }
+ return size;
+ }
+
+ public long Size(string path = null)
+ {
+ if(this.GetType() == typeof(NesDefaultGame))
+ {
+ return ((NesDefaultGame)this).Size;
+ }
+ if (path == null)
+ path = GamePath;
+ long size = 0;
+ // Get the subdirectories for the specified directory.
+ DirectoryInfo dir = new DirectoryInfo(path);
+
+ if (!dir.Exists)
+ {
+ throw new DirectoryNotFoundException(
+ "Source directory does not exist or could not be found: "
+ + path);
+ }
+
+ DirectoryInfo[] dirs = dir.GetDirectories();
+ FileInfo[] files = dir.GetFiles();
+ foreach (FileInfo file in files)
+ {
+ size += file.Length;
+ }
+ foreach (DirectoryInfo subdir in dirs)
+ {
+ size += Size(subdir.FullName);
+ }
+ return size;
+ }
+
+ protected static uint CRC32(byte[] data)
+ {
+ uint poly = 0xedb88320;
+ uint[] table = new uint[256];
+ uint temp = 0;
+ for (uint i = 0; i < table.Length; ++i)
+ {
+ temp = i;
+ for (int j = 8; j > 0; --j)
+ {
+ if ((temp & 1) == 1)
+ {
+ temp = (uint)((temp >> 1) ^ poly);
+ }
+ else
+ {
+ temp >>= 1;
+ }
+ }
+ table[i] = temp;
+ }
+ uint crc = 0xffffffff;
+ for (int i = 0; i < data.Length; ++i)
+ {
+ byte index = (byte)(((crc) & 0xff) ^ data[i]);
+ crc = (uint)((crc >> 8) ^ table[index]);
+ }
+ return ~crc;
+ }
+
+ public static Bitmap LoadBitmap(string path)
+ {
+ //Open file in read only mode
+ using (FileStream stream = new FileStream(path, FileMode.Open, FileAccess.Read))
+ //Get a binary reader for the file stream
+ using (BinaryReader reader = new BinaryReader(stream))
+ {
+ //copy the content of the file into a memory stream
+ var memoryStream = new MemoryStream(reader.ReadBytes((int)stream.Length));
+ //make a new Bitmap object the owner of the MemoryStream
+ return new Bitmap(memoryStream);
+ }
+ }
+
+ private static byte[] Compress(string filename)
+ {
+ SevenZipExtractor.SetLibraryPath(Path.Combine(Program.BaseDirectoryInternal, IntPtr.Size == 8 ? @"tools\7z64.dll" : @"tools\7z.dll"));
+ var arch = new MemoryStream();
+ var compressor = new SevenZipCompressor();
+ compressor.CompressionLevel = CompressionLevel.High;
+ compressor.CompressFiles(arch, filename);
+ arch.Seek(0, SeekOrigin.Begin);
+ var result = new byte[arch.Length];
+ arch.Read(result, 0, result.Length);
+ return result;
+ }
+
+ public class NesMiniAppEqualityComparer : IEqualityComparer<NesMiniApplication>
+ {
+ public bool Equals(NesMiniApplication x, NesMiniApplication y)
+ {
+ return x.Code == y.Code;
+ }
+
+ public int GetHashCode(NesMiniApplication obj)
+ {
+ return obj.Code.GetHashCode();
+ }
+ }
+ }
+}
+
diff --git a/FoldersManagerForm.cs b/FoldersManagerForm.cs
index 629f4ef7..f8d759b7 100644
--- a/FoldersManagerForm.cs
+++ b/FoldersManagerForm.cs
@@ -1,971 +1,967 @@
-using com.clusterrr.hakchi_gui.Properties;
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Drawing;
-using System.IO;
-using System.Linq;
-using System.Threading;
-using System.Windows.Forms;
-using System.Xml;
-
-namespace com.clusterrr.hakchi_gui
-{
- public partial class FoldersManagerForm : Form
- {
- public static string FoldersXmlPath = Path.Combine(Path.Combine(Program.BaseDirectoryExternal, ConfigIni.ConfigDir), "folders.xml");
- List<TreeNode> cuttedNodes = new List<TreeNode>();
- List<INesMenuElement> deletedGames = new List<INesMenuElement>();
- NesMenuCollection gamesCollection = new NesMenuCollection();
- MainForm mainForm;
- private class NodeSorter : IComparer
- {
- public int Compare(object o1, object o2)
- {
- if (o1 is ListViewItem)
- o1 = (o1 as ListViewItem).Tag;
- if (o2 is ListViewItem)
- o2 = (o2 as ListViewItem).Tag;
-
- if ((o1 as TreeNode).Tag is NesMenuCollection) return -1; // Root is always first
- if ((o2 as TreeNode).Tag is NesMenuCollection) return 1;
- INesMenuElement el1 = (o1 as TreeNode).Tag as INesMenuElement;
- INesMenuElement el2 = (o2 as TreeNode).Tag as INesMenuElement;
- var pos1 = 2;
- var pos2 = 2;
- if (el1 is NesMenuFolder) pos1 = (int)(el1 as NesMenuFolder).Position;
- if (el2 is NesMenuFolder) pos2 = (int)(el2 as NesMenuFolder).Position;
- if (pos1 != pos2) return pos1.CompareTo(pos2);
- return el1.Name.CompareTo(el2.Name);
- }
- }
-
- public FoldersManagerForm(NesMenuCollection nesMenuCollection, MainForm mainForm = null)
- {
- try
- {
- InitializeComponent();
- gamesCollection = nesMenuCollection;
- this.mainForm = mainForm;
- if (File.Exists(FoldersXmlPath))
- {
- try
- {
- XmlToTree(File.ReadAllText(FoldersXmlPath));
- }
- catch (Exception ex)
- {
- Debug.WriteLine(ex.Message + ex.StackTrace);
- File.Delete(FoldersXmlPath);
- throw ex;
- }
- }
- else DrawTree();
- splitContainer.Panel2MinSize = 485;
- comboBoxPosition.Left = labelPosition.Left + labelPosition.Width;
- treeView.TreeViewNodeSorter = new NodeSorter();
- listViewContent.ListViewItemSorter = new NodeSorter();
- }
- catch (Exception ex)
- {
- var message = ex.Message;
-#if DEBUG
- message += ex.StackTrace;
-#endif
- Debug.WriteLine(ex.Message + ex.StackTrace);
- MessageBox.Show(this, message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
-
- void DrawTree()
- {
- cuttedNodes.Clear();
- treeView.Nodes.Clear();
- var folderImageIndex = getImageIndex(null);
- var rootNode = new TreeNode(Resources.MainMenu, folderImageIndex, folderImageIndex);
- treeView.Nodes.Add(rootNode);
- rootNode.Tag = gamesCollection;
- AddNodes(rootNode.Nodes, gamesCollection);
- rootNode.Expand();
- treeView.SelectedNode = rootNode;
- }
-
- void DrawSplitTree(NesMenuCollection.SplitStyle splitStyle = NesMenuCollection.SplitStyle.NoSplit)
- {
- var node = treeView.SelectedNode;
- NesMenuCollection collection;
- if (node.Tag is NesMenuFolder)
- collection = (node.Tag as NesMenuFolder).ChildMenuCollection;
- else if (node.Tag is NesMenuCollection)
- collection = node.Tag as NesMenuCollection;
- else return;
- // Collide and resplit collection
- collection.Unsplit();
- collection.Split(splitStyle, ConfigIni.MaxGamesPerFolder);
- // Refill nodes with new collection
- node.Nodes.Clear();
- AddNodes(node.Nodes, collection);
- node.Expand();
- treeView.SelectedNode = node;
- ShowSelected();
- }
-
- static int getImageIndex(INesMenuElement nesElement)
- {
- if (nesElement == null || nesElement is NesMenuFolder || nesElement is NesMenuCollection)
- return 12;
-
- if (nesElement is Sega32XGame)
- return 0;
- if (nesElement is Atari2600Game)
- return 2;
- if (nesElement is ArcadeGame)
- return 6;
- if (nesElement is NesUGame)
- return 8;
- if (nesElement is FdsGame)
- return 10;
- if (nesElement is GbGame)
- return 14;
- if (nesElement is GbaGame)
- return 16;
- if (nesElement is GbcGame)
- return 18;
- if (nesElement is GenesisGame)
- return 20;
- if (nesElement is GameGearGame)
- return 22;
- if (nesElement is N64Game)
- return 24;
- if (nesElement is NesGame)
- return 28;
- if (nesElement is NesDefaultGame)
- return 30;
- if (nesElement is PceGame)
- return 32;
- if (nesElement is SmsGame)
- return 34;
- if (nesElement is SnesGame)
- return 36;
-
- return 4;
- }
-
- void AddNodes(TreeNodeCollection treeNodeCollection, NesMenuCollection nesMenuCollection, List<NesMenuCollection> usedFolders = null)
- {
- if (usedFolders == null)
- usedFolders = new List<NesMenuCollection>();
- if (usedFolders.Contains(nesMenuCollection))
- return;
- usedFolders.Add(nesMenuCollection);
- var sorted = nesMenuCollection.OrderBy(o => o.Name).OrderBy(o => (o is NesMenuFolder) ? (byte)(o as NesMenuFolder).Position : 2);
- foreach (var nesElement in sorted)
- {
- var newNode = new TreeNode();
- if (nesElement is NesMenuFolder)
- {
- if (usedFolders.Contains((nesElement as NesMenuFolder).ChildMenuCollection))
- {
- nesMenuCollection.Remove(nesElement); // We don't need any "back" folders
- continue;
- }
- }
- newNode.SelectedImageIndex = newNode.ImageIndex = getImageIndex(nesElement as INesMenuElement);
- newNode.Text = nesElement.Name;
- newNode.Tag = nesElement;
- treeNodeCollection.Add(newNode);
- if (nesElement is NesMenuFolder)
- {
- AddNodes(newNode.Nodes, (nesElement as NesMenuFolder).ChildMenuCollection, usedFolders);
- }
- }
- }
-
- private void buttonNoFolders_Click(object sender, EventArgs e)
- {
- DrawSplitTree(NesMenuCollection.SplitStyle.NoSplit);
- }
-
- private void buttonNoFoldersOriginal_Click(object sender, EventArgs e)
- {
- DrawSplitTree(NesMenuCollection.SplitStyle.Original_NoSplit);
- }
-
- private void buttonFoldersEqually_Click(object sender, EventArgs e)
- {
- DrawSplitTree(NesMenuCollection.SplitStyle.FoldersEqual);
- }
-
- private void buttonFoldersEquallyOriginal_Click(object sender, EventArgs e)
- {
- DrawSplitTree(NesMenuCollection.SplitStyle.Original_FoldersEqual);
- }
-
- private void buttonFoldersLetters_Click(object sender, EventArgs e)
- {
- DrawSplitTree(NesMenuCollection.SplitStyle.FoldersAlphabetic_FoldersEqual);
- }
-
- private void buttonFoldersLettersOriginal_Click(object sender, EventArgs e)
- {
- DrawSplitTree(NesMenuCollection.SplitStyle.Original_FoldersAlphabetic_FoldersEqual);
- }
-
- private void treeView_AfterSelect(object sender, TreeViewEventArgs e)
- {
- ShowSelected();
- }
-
- private void ShowSelected()
- {
- var node = treeView.SelectedNode;
- listViewContent.Clear();
- if (node != null && (node.Nodes.Count > 0 || node.Tag is NesMenuFolder)) // Folder or root
- {
- pictureBoxArt.Image = (node.Tag is NesMenuFolder) ? (node.Tag as NesMenuFolder).Image : null;
- groupBoxArt.Enabled = (node.Tag is NesMenuFolder);
- groupBoxSplitModes.Enabled = true;
- pictureBoxArt.Cursor = Cursors.Hand;
- listViewContent.Enabled = true;
- foreach (TreeNode n in node.Nodes)
- {
- var element = (INesMenuElement)n.Tag;
- var item = new ListViewItem();
- item.Text = element.Name;
- var transparency = cuttedNodes.Contains(n) ? 1 : 0;
- item.ImageIndex = getImageIndex(element) + transparency;
- item.Tag = n;
- listViewContent.Items.Add(item);
- }
- }
- else
- {
- if (node != null && node.Tag is NesMiniApplication)
- {
- var game = node.Tag as NesMiniApplication;
- pictureBoxArt.Image = NesMiniApplication.LoadBitmap(game.IconPath);
- groupBoxArt.Enabled = true;
- listViewContent.Enabled = false;
- }
- else //if (e.Node.Tag is NesDefaultGame)
- {
- pictureBoxArt.Image = null;
- groupBoxArt.Enabled = false;
- }
- listViewContent.Enabled = false;
- groupBoxSplitModes.Enabled = false;
- pictureBoxArt.Cursor = Cursors.Default;
- }
- ShowFolderStats();
- }
-
- void ShowFolderStats()
- {
- var node = treeView.SelectedNode;
- if (node != null && (node.Tag is NesMenuCollection || node.Tag is NesMenuFolder)) // Folder or root
- {
- labelElementCount.Text = string.Format(Resources.FolderStatistics, node.Text, node.Nodes.Count);
- buttonNewFolder.Enabled = true;
- }
- else
- {
- labelElementCount.Text = "";
- buttonNewFolder.Enabled = false;
- }
- if (node != null && node.Tag is NesMenuFolder) // Folder
- {
- labelPosition.Enabled = comboBoxPosition.Enabled = true;
- var folder = node.Tag as NesMenuFolder;
- var position = (int)folder.Position;
- if (position > 1) position--;
- comboBoxPosition.SelectedIndex = position;
- }
- else
- {
- labelPosition.Enabled = comboBoxPosition.Enabled = false;
- comboBoxPosition.SelectedIndex = -1;
- }
- }
-
- private void listViewContent_MouseDoubleClick(object sender, MouseEventArgs e)
- {
- if (e.Button == System.Windows.Forms.MouseButtons.Left && listViewContent.SelectedItems.Count == 1)
- {
- var node = (listViewContent.SelectedItems[0].Tag as TreeNode);
- treeView.SelectedNode = node;
- //node.Expand();
- }
- }
-
- private void treeView_BeforeLabelEdit(object sender, NodeLabelEditEventArgs e)
- {
- if (!(e.Node.Tag is NesMenuFolder))
- e.CancelEdit = true;
- }
-
- private void treeView_AfterLabelEdit(object sender, NodeLabelEditEventArgs e)
- {
- if (!(e.Node.Tag is NesMenuFolder) ||
- string.IsNullOrEmpty(e.Label) || string.IsNullOrEmpty(e.Label.Trim()))
- e.CancelEdit = true;
- else
- {
- e.Node.Text = e.Label;
- (e.Node.Tag as INesMenuElement).Name = e.Label;
- var parent = e.Node.Parent;
- FixSort(e.Node);
- }
- }
-
- private void listViewContent_BeforeLabelEdit(object sender, LabelEditEventArgs e)
- {
- if (!((listViewContent.Items[e.Item].Tag as TreeNode).Tag is NesMenuFolder))
- e.CancelEdit = true;
- }
-
- private void listViewContent_AfterLabelEdit(object sender, LabelEditEventArgs e)
- {
- if (string.IsNullOrEmpty(e.Label) || string.IsNullOrEmpty(e.Label.Trim()))
- e.CancelEdit = true;
- else
- {
- var item = listViewContent.Items[e.Item];
- var node = item.Tag as TreeNode;
- node.Text = e.Label;
- (node.Tag as INesMenuElement).Name = e.Label;
- FixSort(item);
- }
- }
-
- private void FixSort(object o)
- {
- // This is most simple to resort node without resorting the whole tree/list
- new Thread(KostilKostilevich).Start(o);
- }
- private void KostilKostilevich(object o)
- {
- // This is stupid workaround for resort after renaming item, lol
- if (InvokeRequired)
- {
- Invoke(new Action<object>(KostilKostilevich), new object[] { o });
- return;
- }
- if (o is TreeNode)
- {
- var node = o as TreeNode;
- var parent = node.Parent;
- parent.Nodes.Remove(node);
- parent.Nodes.Add(node);
- treeView.SelectedNode = node;
- ShowFolderStats();
- }
- if (o is ListViewItem)
- {
- var item = o as ListViewItem;
- listViewContent.Items.Remove(item);
- listViewContent.Items.Add(item);
- var node = item.Tag as TreeNode;
- var parent = node.Parent;
- parent.Nodes.Remove(node);
- parent.Nodes.Add(node);
- }
- }
-
- private void treeView_ItemDrag(object sender, ItemDragEventArgs e)
- {
- if ((e.Button == MouseButtons.Left) && !((e.Item as TreeNode).Tag is NesMenuCollection)) // We can't drag root
- DoDragDrop(new TreeNode[] { (TreeNode)e.Item }, DragDropEffects.Move);
- }
-
- private void listViewContent_ItemDrag(object sender, ItemDragEventArgs e)
- {
- if (e.Button != MouseButtons.Left) return;
- var nodes = new List<TreeNode>();
- foreach (ListViewItem i in listViewContent.SelectedItems)
- nodes.Add(i.Tag as TreeNode);
- DoDragDrop(nodes.ToArray(), DragDropEffects.Move);
- }
-
- private void treeView_DragEnter(object sender, DragEventArgs e)
- {
- if (e.Data.GetDataPresent("System.Windows.Forms.TreeNode[]", false))
- e.Effect = DragDropEffects.Move;
- }
-
- private void treeView_DragDrop(object sender, DragEventArgs e)
- {
- if (e.Data.GetDataPresent("System.Windows.Forms.TreeNode[]", false))
- {
- TreeNode destinationNode;
- if (sender is TreeView)
- {
- Point pt = ((TreeView)sender).PointToClient(new Point(e.X, e.Y));
- destinationNode = ((TreeView)sender).GetNodeAt(pt);
- }
- else
- {
- Point pt = ((ListView)sender).PointToClient(new Point(e.X, e.Y));
- var item = ((ListView)sender).GetItemAt(pt.X, pt.Y);
- if (item == null)
- destinationNode = treeView.SelectedNode;
- else
- destinationNode = (TreeNode)item.Tag;
- }
- var newNodes = (TreeNode[])e.Data.GetData("System.Windows.Forms.TreeNode[]");
- MoveToFolder(newNodes, destinationNode, false);
- if (sender is TreeView)
- treeView.Select();
- else
- listViewContent.Select();
- }
- }
-
- private void buttonNewFolder_Click(object sender, EventArgs e)
- {
- newFolder(null);
- }
-
- private void comboBoxPosition_SelectionChangeCommitted(object sender, EventArgs e)
- {
- if (!(treeView.SelectedNode.Tag is NesMenuFolder)) return;
- int value = comboBoxPosition.SelectedIndex;
- if (value >= 2) value++;
- var node = treeView.SelectedNode;
- var folder = (node.Tag as NesMenuFolder);
- folder.Position = (NesMenuFolder.Priority)value;
- FixSort(node);
- }
-
- private void renameToolStripMenuItem_Click(object sender, EventArgs e)
- {
- renameFolder((sender as ToolStripMenuItem).Tag);
- }
-
- private void deleteToolStripMenuItem_Click(object sender, EventArgs e)
- {
- if ((sender as ToolStripMenuItem).Tag is TreeNode)
- deleteElements(new TreeNode[] { treeView.SelectedNode });
- else
- if ((sender as ToolStripMenuItem).Tag is ListView)
- deleteElements(from i in listViewContent.SelectedItems.Cast<ListViewItem>().ToArray() select i.Tag as TreeNode);
- }
- private void cutToolStripMenuItem_Click(object sender, EventArgs e)
- {
- if ((sender as ToolStripMenuItem).Tag is TreeNode)
- cutElements(new TreeNode[] { treeView.SelectedNode });
- else
- if ((sender as ToolStripMenuItem).Tag is ListView)
- cutElements(from i in listViewContent.SelectedItems.Cast<ListViewItem>().ToArray() select i.Tag as TreeNode);
- }
-
- private void pasteToolStripMenuItem_Click(object sender, EventArgs e)
- {
- pasteElements(treeView.SelectedNode);
- }
-
- private void treeView_MouseDown(object sender, MouseEventArgs e)
- {
- if (e.Button != MouseButtons.Right) return;
- if (sender is TreeView)
- {
- var destinationNode = ((TreeView)sender).GetNodeAt(e.X, e.Y);
- if (destinationNode == null) destinationNode = treeView.Nodes[0]; // Root
-
- newFolderToolStripMenuItem.Tag = deleteToolStripMenuItem.Tag = renameToolStripMenuItem.Tag =
- cutToolStripMenuItem.Tag = pasteToolStripMenuItem.Tag = destinationNode;
- newFolderToolStripMenuItem.Enabled = true;
- if ((destinationNode.Tag is NesMenuFolder || destinationNode.Tag is NesMenuCollection)) // Folder
- treeView.SelectedNode = destinationNode;
- else
- newFolderToolStripMenuItem.Tag = destinationNode.Parent;
- renameToolStripMenuItem.Enabled = destinationNode.Tag is NesMenuFolder; // Folder
- cutToolStripMenuItem.Enabled = deleteToolStripMenuItem.Enabled = !(destinationNode.Tag is NesMenuCollection); // Not root
- pasteToolStripMenuItem.Enabled = cuttedNodes.Count > 0;
- }
- else
- {
- var item = ((ListView)sender).GetItemAt(e.X, e.Y);
- if (listViewContent.SelectedItems.Count == 0 && item != null) item.Selected = true;
- renameToolStripMenuItem.Tag = item;
- newFolderToolStripMenuItem.Tag = deleteToolStripMenuItem.Tag = cutToolStripMenuItem.Tag = pasteToolStripMenuItem.Tag = listViewContent;
- newFolderToolStripMenuItem.Enabled = treeView.SelectedNode != null && (treeView.SelectedNode.Tag is NesMenuFolder || treeView.SelectedNode.Tag is NesMenuCollection); // Folder
- renameToolStripMenuItem.Enabled = (item != null) && (item.Tag as TreeNode).Tag is NesMenuFolder;
- cutToolStripMenuItem.Enabled = deleteToolStripMenuItem.Enabled = listViewContent.SelectedItems.Count > 0;
- pasteToolStripMenuItem.Enabled = cuttedNodes.Count > 0;
- }
- contextMenuStrip.Show(sender as Control, e.X, e.Y);
- }
-
- private void newFolderToolStripMenuItem_Click(object sender, EventArgs e)
- {
- if ((sender as ToolStripMenuItem).Tag is TreeNode)
- newFolder((sender as ToolStripMenuItem).Tag as TreeNode);
- else
- newFolder(null);
- }
- bool MoveToFolder(IEnumerable<TreeNode> newNodes, TreeNode destinationNode, bool showDest = true)
- {
- if (destinationNode == null)
- destinationNode = treeView.Nodes[0]; // Root
- if (destinationNode.Tag is NesMiniApplication || destinationNode.Tag is NesDefaultGame)
- destinationNode = destinationNode.Parent;
- foreach (var newNode in newNodes)
- {
- if (!destinationNode.FullPath.StartsWith(newNode.FullPath) && (destinationNode != newNode.Parent))
- {
- Debug.WriteLine(string.Format("Drag: {0}->{1}", newNode, destinationNode));
- if (newNode.Parent.Tag is NesMenuFolder)
- (newNode.Parent.Tag as NesMenuFolder).ChildMenuCollection.Remove(newNode.Tag as INesMenuElement);
- else if (newNode.Parent.Tag is NesMenuCollection)
- (newNode.Parent.Tag as NesMenuCollection).Remove(newNode.Tag as INesMenuElement);
- newNode.Parent.Nodes.Remove(newNode);
- destinationNode.Nodes.Add(newNode);
- if (destinationNode.Tag is NesMenuFolder)
- (destinationNode.Tag as NesMenuFolder).ChildMenuCollection.Add(newNode.Tag as INesMenuElement);
- else if (destinationNode.Tag is NesMenuCollection)
- (destinationNode.Tag as NesMenuCollection).Add(newNode.Tag as INesMenuElement);
- }
- else
- {
- System.Media.SystemSounds.Hand.Play();
- return false;
- }
- }
- if (showDest)
- treeView.SelectedNode = destinationNode;
-
- if (treeView.SelectedNode == destinationNode)
- ShowSelected();
- else
- foreach (var i in (from n in listViewContent.Items.Cast<ListViewItem>().ToArray() where newNodes.Contains(n.Tag as TreeNode) select n))
- listViewContent.Items.Remove(i);
- foreach (ListViewItem item in listViewContent.Items)
- item.Selected = newNodes.Contains(item.Tag as TreeNode) || item.Tag == destinationNode;
- ShowFolderStats();
- return true;
- }
-
- void newFolder(TreeNode parent = null)
- {
- var newFolder = new NesMenuFolder(Resources.FolderNameNewFolder);
- var folderImageIndex = getImageIndex(newFolder);
- var newnode = new TreeNode(Resources.FolderNameNewFolder, folderImageIndex, folderImageIndex);
- newnode.Tag = newFolder;
- if (parent != null)
- {
- parent.Nodes.Add(newnode);
- treeView.SelectedNode = newnode;
- ShowSelected();
- newnode.BeginEdit();
- }
- else if (treeView.SelectedNode != null)
- {
- parent = treeView.SelectedNode;
- parent.Nodes.Add(newnode);
- ShowFolderStats();
- var item = new ListViewItem(newnode.Text, folderImageIndex);
- item.Tag = newnode;
- listViewContent.SelectedItems.Clear();
- listViewContent.Items.Add(item);
- item.BeginEdit();
- }
- if (parent != null)
- {
- if (parent.Tag is NesMenuFolder)
- (parent.Tag as NesMenuFolder).ChildMenuCollection.Add(newFolder);
- else if (parent.Tag is NesMenuCollection)
- (parent.Tag as NesMenuCollection).Add(newFolder);
- }
- }
-
- TreeNode getFolder(string name)
- {
- var root = treeView.Nodes[0];
- foreach (TreeNode el in root.Nodes)
- {
- if (el.Text == name && el.Tag is NesMenuFolder)
- return el;
- }
- var newFolder = new NesMenuFolder(name);
- var folderImageIndex = getImageIndex(newFolder);
- var newNode = new TreeNode(name, folderImageIndex, folderImageIndex);
- newFolder.Position = NesMenuFolder.Priority.Leftmost;
- newNode.Tag = newFolder;
- (root.Tag as NesMenuCollection).Add(newFolder);
- root.Nodes.Add(newNode);
- return newNode;
- }
-
- void deleteElements(IEnumerable<TreeNode> nodes)
- {
- if (nodes.Count() == 1)
- {
- if (MessageBox.Show(this, string.Format(Resources.DeleteElement, nodes.First().Text),
- Resources.AreYouSure, MessageBoxButtons.YesNo,
- MessageBoxIcon.Warning) != DialogResult.Yes)
- return;
- }
- else
- {
- if (MessageBox.Show(this, string.Format(Resources.DeleteElements, nodes.Count()),
- Resources.AreYouSure, MessageBoxButtons.YesNo,
- MessageBoxIcon.Warning) != DialogResult.Yes)
- return;
- }
- bool needWarn = false;
- TreeNode parent = null;
- foreach (var node in nodes)
- {
- parent = node.Parent;
- if (node.Tag is NesMenuFolder) // Folder
- {
- if (node.Nodes.Count > 0)
- {
- var unsortedFolder = getFolder(Resources.FolderNameTrashBin);
- if (node.FullPath.StartsWith(unsortedFolder.FullPath)) // It's already in trash bin
- {
- (node.Tag as NesMenuFolder).ChildMenuCollection.Unsplit();
- deletedGames.AddRange((node.Tag as NesMenuFolder).ChildMenuCollection);
- (node.Tag as NesMenuFolder).ChildMenuCollection.Clear();
- }
- else
- {
- MoveToFolder(node.Nodes.Cast<TreeNode>().ToArray(), unsortedFolder, false);
- needWarn = true;
- }
- }
- if (parent.Tag is NesMenuFolder)
- (parent.Tag as NesMenuFolder).ChildMenuCollection.Remove(node.Tag as INesMenuElement);
- else if (parent.Tag is NesMenuCollection)
- (parent.Tag as NesMenuCollection).Remove(node.Tag as INesMenuElement);
- parent.Nodes.Remove(node);
- }
- else
- { // Game
- var unsortedFolder = getFolder(Resources.FolderNameTrashBin);
- if (node.FullPath.StartsWith(unsortedFolder.FullPath)) // It's already in trash bin
- {
- deletedGames.Add(node.Tag as INesMenuElement);
- if (parent.Tag is NesMenuFolder)
- (parent.Tag as NesMenuFolder).ChildMenuCollection.Remove(node.Tag as INesMenuElement);
- else if (parent.Tag is NesMenuCollection)
- (parent.Tag as NesMenuCollection).Remove(node.Tag as INesMenuElement);
- parent.Nodes.Remove(node);
- }
- else
- {
- MoveToFolder(new TreeNode[] { node }, unsortedFolder, false);
- needWarn = true;
- }
- }
- foreach (var i in from i in listViewContent.Items.Cast<ListViewItem>().ToArray() where i.Tag == node select i)
- listViewContent.Items.Remove(i);
- cuttedNodes.Remove(node);
- }
- if (parent != null)
- treeView.SelectedNode = parent;
- if (needWarn)
- MessageBox.Show(this, Resources.FolderContent, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
- buttonOk.Enabled = treeView.Nodes[0].Nodes.Count > 0;
- }
-
- void cutElements(IEnumerable<TreeNode> nodes)
- {
- foreach (var node in cuttedNodes)
- node.SelectedImageIndex = node.ImageIndex = node.ImageIndex / 2 * 2;
- cuttedNodes.Clear();
-
- foreach (var node in nodes)
- {
- cuttedNodes.Add(node);
- node.SelectedImageIndex = node.ImageIndex = node.ImageIndex / 2 * 2 + 1;
- }
- foreach (ListViewItem item in listViewContent.Items)
- {
- item.ImageIndex = item.ImageIndex / 2 * 2 +
- ((cuttedNodes.Contains(item.Tag as TreeNode)) ? 1 : 0);
- }
- }
-
- void pasteElements(TreeNode node)
- {
- if ((cuttedNodes.Count > 0) && MoveToFolder(cuttedNodes, node))
- {
- cutElements(new TreeNode[0]);
- }
- }
-
- private void renameFolder(object folder)
- {
- if (folder is TreeNode)
- (folder as TreeNode).BeginEdit();
- else if (folder is ListViewItem)
- (folder as ListViewItem).BeginEdit();
- }
-
- private void treeView_KeyDown(object sender, KeyEventArgs e)
- {
- if (e.KeyCode == Keys.Delete && e.Modifiers == Keys.None)
- {
- if ((treeView.SelectedNode != null) && !(treeView.SelectedNode.Tag is NesMenuCollection))
- deleteElements(new TreeNode[] { treeView.SelectedNode });
- }
- else if (e.KeyCode == Keys.F2 && e.Modifiers == Keys.None)
- {
- if ((treeView.SelectedNode != null) && (treeView.SelectedNode.Tag is NesMenuFolder))
- renameFolder(treeView.SelectedNode);
- }
- else if (e.KeyCode == Keys.X && e.Modifiers == Keys.Control)
- {
- if ((treeView.SelectedNode != null) && !(treeView.SelectedNode.Tag is NesMenuCollection))
- cutElements(new TreeNode[] { treeView.SelectedNode });
- }
- else if (e.KeyCode == Keys.V && e.Modifiers == Keys.Control)
- {
- if (treeView.SelectedNode != null)
- {
- if ((treeView.SelectedNode.Tag is NesMenuFolder || treeView.SelectedNode.Tag is NesMenuCollection))
- pasteElements(treeView.SelectedNode);
- else
- pasteElements(treeView.SelectedNode.Parent);
- }
- }
- else if (e.KeyCode == Keys.N && e.Modifiers == Keys.Control)
- {
- if (treeView.SelectedNode != null)
- {
- if (treeView.SelectedNode.Tag is NesMenuFolder || treeView.SelectedNode.Tag is NesMenuCollection)
- newFolder(treeView.SelectedNode);
- else
- newFolder(treeView.SelectedNode.Parent);
- }
- }
- }
-
- private void listViewContent_KeyDown(object sender, KeyEventArgs e)
- {
- if (e.KeyCode == Keys.Delete)
- {
- deleteElements(from i in listViewContent.SelectedItems.Cast<ListViewItem>().ToArray() select i.Tag as TreeNode);
- }
- else if (e.KeyCode == Keys.F2 && e.Modifiers == Keys.None)
- {
- if (listViewContent.SelectedItems.Count != 1) return;
- var item = listViewContent.SelectedItems[0];
- renameFolder(item);
- }
- else if (e.KeyCode == Keys.A && e.Modifiers == Keys.Control)
- {
- foreach (ListViewItem item in listViewContent.Items)
- item.Selected = true;
- }
- else if (e.KeyCode == Keys.X && e.Modifiers == Keys.Control)
- {
- cutElements(from i in listViewContent.SelectedItems.Cast<ListViewItem>().ToArray() select i.Tag as TreeNode);
- }
- else if (e.KeyCode == Keys.V && e.Modifiers == Keys.Control)
- {
- if (treeView.SelectedNode != null)
- {
- if ((treeView.SelectedNode.Tag is NesMenuFolder || treeView.SelectedNode.Tag is NesMenuCollection))
- pasteElements(treeView.SelectedNode);
- else
- pasteElements(treeView.SelectedNode.Parent);
- }
- }
- else if (e.KeyCode == Keys.N && e.Modifiers == Keys.Control)
- {
- if (treeView.SelectedNode != null && (treeView.SelectedNode.Tag is NesMenuFolder || treeView.SelectedNode.Tag is NesMenuCollection))
- newFolder();
- }
- }
-
- private void listViewContent_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (e.KeyChar == (char)13)
- {
- if (listViewContent.SelectedItems.Count != 1) return;
- var item = listViewContent.SelectedItems[0];
-
- if (!((item.Tag as TreeNode).Tag is NesMenuFolder))
- return;
- treeView.SelectedNode = item.Tag as TreeNode;
- }
- else if (e.KeyChar == (char)8)
- {
- if (treeView.SelectedNode != null && treeView.SelectedNode.Parent != null)
- {
- treeView.SelectedNode = treeView.SelectedNode.Parent;
- }
- }
- }
-
- private void buttonOk_Click(object sender, EventArgs e)
- {
- SaveTree();
- DialogResult = DialogResult.OK;
- }
-
- private void buttonCancel_Click(object sender, EventArgs e)
- {
- Close();
- }
-
- private void pictureBoxArt_Click(object sender, EventArgs e)
- {
- if (treeView.SelectedNode != null && treeView.SelectedNode.Tag is NesMenuFolder)
- {
- var folder = treeView.SelectedNode.Tag as NesMenuFolder;
- var form = new SelectIconForm(folder.ImageId);
- if (form.ShowDialog() == DialogResult.OK)
- {
- folder.ImageId = form.listBox.SelectedItem.ToString();
- pictureBoxArt.Image = folder.Image;
- }
- }
- }
-
- private void TreeContructorForm_FormClosing(object sender, FormClosingEventArgs e)
- {
- if (e.CloseReason != CloseReason.UserClosing || DialogResult == System.Windows.Forms.DialogResult.OK) return;
- var a = MessageBox.Show(this, Resources.FoldersSaveQ, this.Text, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
- if (a == System.Windows.Forms.DialogResult.Cancel)
- {
- e.Cancel = true;
- return;
- }
- if (a == System.Windows.Forms.DialogResult.Yes)
- SaveTree();
- DialogResult = DialogResult.Cancel;
- }
-
- void SaveTree()
- {
- Directory.CreateDirectory(Path.GetDirectoryName(FoldersXmlPath));
- File.WriteAllText(FoldersXmlPath, TreeToXml());
- if (mainForm != null)
- {
- for (int i = 0; i < mainForm.checkedListBoxGames.Items.Count; i++)
- {
- if (deletedGames.Contains(mainForm.checkedListBoxGames.Items[i] as NesMiniApplication))
- mainForm.checkedListBoxGames.SetItemChecked(i, false);
- }
- for (int i = 0; i < mainForm.checkedListBoxDefaultGames.Items.Count; i++)
- {
- if (deletedGames.Contains(mainForm.checkedListBoxDefaultGames.Items[i] as NesDefaultGame))
- mainForm.checkedListBoxDefaultGames.SetItemChecked(i, false);
- }
- ConfigIni.Save();
- }
- }
-
- private string TreeToXml()
- {
- var root = treeView.Nodes[0];
- var xml = new XmlDocument();
- var treeNode = xml.CreateElement("Tree");
- xml.AppendChild(treeNode);
- NodeToXml(xml, treeNode, root);
- using (var stringWriter = new StringWriter())
- using (var xmlTextWriter = new XmlTextWriter(stringWriter))
- {
- xmlTextWriter.Formatting = Formatting.Indented;
- xmlTextWriter.WriteStartDocument();
- xml.WriteTo(xmlTextWriter);
- xmlTextWriter.WriteEndDocument();
- xmlTextWriter.Flush();
- return stringWriter.GetStringBuilder().ToString();
- }
- }
- private void NodeToXml(XmlDocument xml, XmlElement element, TreeNode node)
- {
- foreach (TreeNode child in node.Nodes)
- {
- if (child.Tag is NesMenuFolder)
- {
- var subElement = xml.CreateElement("Folder");
- var folder = child.Tag as NesMenuFolder;
- subElement.SetAttribute("name", folder.Name);
- subElement.SetAttribute("icon", folder.ImageId);
- subElement.SetAttribute("position", ((byte)folder.Position).ToString());
- element.AppendChild(subElement);
- NodeToXml(xml, subElement, child);
- }
- else if (child.Tag is NesMiniApplication)
- {
- var subElement = xml.CreateElement("Game");
- var game = child.Tag as NesMiniApplication;
- subElement.SetAttribute("code", game.Code);
- subElement.SetAttribute("name", game.Name);
- element.AppendChild(subElement);
- }
- else if (child.Tag is NesDefaultGame)
- {
- var subElement = xml.CreateElement("OriginalGame");
- var game = child.Tag as NesDefaultGame;
- subElement.SetAttribute("code", game.Code);
- subElement.SetAttribute("name", game.Name);
- element.AppendChild(subElement);
- }
- }
- }
- void XmlToTree(string xmlString)
- {
- gamesCollection.Unsplit();
- var oldCollection = new NesMenuCollection();
- oldCollection.AddRange(gamesCollection);
- var xml = new XmlDocument();
- xml.LoadXml(xmlString);
- gamesCollection.Clear();
- XmlToNode(xml, xml.SelectSingleNode("/Tree").ChildNodes, oldCollection, gamesCollection);
- // oldCollection has only unsorted (new) games
- if (oldCollection.Count > 0)
- {
- NesMenuFolder unsorted;
- var unsorteds = from f in gamesCollection where f is NesMenuFolder && f.Name == Resources.FolderNameUnsorted select f;
- if (unsorteds.Count() > 0)
- unsorted = unsorteds.First() as NesMenuFolder;
- else
- {
- unsorted = new NesMenuFolder(Resources.FolderNameUnsorted);
- unsorted.Position = NesMenuFolder.Priority.Leftmost;
- gamesCollection.Add(unsorted);
- }
- foreach (var game in oldCollection)
- unsorted.ChildMenuCollection.Add(game);
- MessageBox.Show(this, Resources.NewGamesUnsorted, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- DrawTree();
- }
-
- void XmlToNode(XmlDocument xml, XmlNodeList elements, NesMenuCollection rootMenuCollection, NesMenuCollection nesMenuCollection = null)
- {
- if (nesMenuCollection == null)
- nesMenuCollection = rootMenuCollection;
- foreach (XmlNode element in elements)
- {
- switch (element.Name)
- {
- case "Folder":
- var folder = new NesMenuFolder(element.Attributes["name"].Value, element.Attributes["icon"].Value);
- folder.Position = (NesMenuFolder.Priority)byte.Parse(element.Attributes["position"].Value);
- nesMenuCollection.Add(folder);
- XmlToNode(xml, element.ChildNodes, rootMenuCollection, folder.ChildMenuCollection);
- break;
- case "Game":
- case "OriginalGame":
- var code = element.Attributes["code"].Value;
- var games = from n in rootMenuCollection where ((n is NesMiniApplication || n is NesDefaultGame) && (n.Code == code)) select n;
- if (games.Count() > 0)
- {
- var game = games.First();
- nesMenuCollection.Add(game);
- rootMenuCollection.Remove(game);
- }
- break;
- }
- }
- }
- }
-}
+using com.clusterrr.hakchi_gui.Properties;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Drawing;
+using System.IO;
+using System.Linq;
+using System.Threading;
+using System.Windows.Forms;
+using System.Xml;
+
+namespace com.clusterrr.hakchi_gui
+{
+ public partial class FoldersManagerForm : Form
+ {
+ public static string FoldersXmlPath = Path.Combine(Path.Combine(Program.BaseDirectoryExternal, ConfigIni.ConfigDir), "folders.xml");
+ List<TreeNode> cuttedNodes = new List<TreeNode>();
+ List<INesMenuElement> deletedGames = new List<INesMenuElement>();
+ NesMenuCollection gamesCollection = new NesMenuCollection();
+ MainForm mainForm;
+ private class NodeSorter : IComparer
+ {
+ public int Compare(object o1, object o2)
+ {
+ if (o1 is ListViewItem)
+ o1 = (o1 as ListViewItem).Tag;
+ if (o2 is ListViewItem)
+ o2 = (o2 as ListViewItem).Tag;
+
+ if ((o1 as TreeNode).Tag is NesMenuCollection) return -1; // Root is always first
+ if ((o2 as TreeNode).Tag is NesMenuCollection) return 1;
+ INesMenuElement el1 = (o1 as TreeNode).Tag as INesMenuElement;
+ INesMenuElement el2 = (o2 as TreeNode).Tag as INesMenuElement;
+ var pos1 = 2;
+ var pos2 = 2;
+ if (el1 is NesMenuFolder) pos1 = (int)(el1 as NesMenuFolder).Position;
+ if (el2 is NesMenuFolder) pos2 = (int)(el2 as NesMenuFolder).Position;
+ if (pos1 != pos2) return pos1.CompareTo(pos2);
+ return el1.Name.CompareTo(el2.Name);
+ }
+ }
+
+ public FoldersManagerForm(NesMenuCollection nesMenuCollection, MainForm mainForm = null)
+ {
+ try
+ {
+ InitializeComponent();
+ gamesCollection = nesMenuCollection;
+ this.mainForm = mainForm;
+ if (File.Exists(FoldersXmlPath))
+ {
+ try
+ {
+ XmlToTree(File.ReadAllText(FoldersXmlPath));
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ File.Delete(FoldersXmlPath);
+ throw ex;
+ }
+ }
+ else DrawTree();
+ splitContainer.Panel2MinSize = 485;
+ comboBoxPosition.Left = labelPosition.Left + labelPosition.Width;
+ treeView.TreeViewNodeSorter = new NodeSorter();
+ listViewContent.ListViewItemSorter = new NodeSorter();
+ }
+ catch (Exception ex)
+ {
+ var message = ex.Message;
+#if DEBUG
+ message += ex.StackTrace;
+#endif
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ MessageBox.Show(this, message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ void DrawTree()
+ {
+ cuttedNodes.Clear();
+ treeView.Nodes.Clear();
+ var folderImageIndex = getImageIndex(null);
+ var rootNode = new TreeNode(Resources.MainMenu, folderImageIndex, folderImageIndex);
+ treeView.Nodes.Add(rootNode);
+ rootNode.Tag = gamesCollection;
+ AddNodes(rootNode.Nodes, gamesCollection);
+ rootNode.Expand();
+ treeView.SelectedNode = rootNode;
+ }
+
+ void DrawSplitTree(NesMenuCollection.SplitStyle splitStyle = NesMenuCollection.SplitStyle.NoSplit)
+ {
+ var node = treeView.SelectedNode;
+ NesMenuCollection collection;
+ if (node.Tag is NesMenuFolder)
+ collection = (node.Tag as NesMenuFolder).ChildMenuCollection;
+ else if (node.Tag is NesMenuCollection)
+ collection = node.Tag as NesMenuCollection;
+ else return;
+ // Collide and resplit collection
+ collection.Unsplit();
+ collection.Split(splitStyle, ConfigIni.MaxGamesPerFolder);
+ // Refill nodes with new collection
+ node.Nodes.Clear();
+ AddNodes(node.Nodes, collection);
+ node.Expand();
+ treeView.SelectedNode = node;
+ ShowSelected();
+ }
+
+ static int getImageIndex(INesMenuElement nesElement)
+ {
+ if (nesElement == null || nesElement is NesMenuFolder || nesElement is NesMenuCollection)
+ return 12;
+
+ if (nesElement is Sega32XGame)
+ return 0;
+ if (nesElement is Atari2600Game)
+ return 2;
+ if (nesElement is ArcadeGame)
+ return 6;
+ if (nesElement is NesUGame)
+ return 8;
+ if (nesElement is FdsGame)
+ return 10;
+ if (nesElement is GbGame)
+ return 14;
+ if (nesElement is GbaGame)
+ return 16;
+ if (nesElement is GbcGame)
+ return 18;
+ if (nesElement is GenesisGame)
+ return 20;
+ if (nesElement is GameGearGame)
+ return 22;
+ if (nesElement is N64Game)
+ return 24;
+ if (nesElement is NesGame)
+ return 28;
+ if (nesElement is NesDefaultGame)
+ return 30;
+ if (nesElement is PceGame)
+ return 32;
+ if (nesElement is SmsGame)
+ return 34;
+ if (nesElement is SnesGame)
+ return 36;
+
+ return 4;
+ }
+
+ void AddNodes(TreeNodeCollection treeNodeCollection, NesMenuCollection nesMenuCollection, List<NesMenuCollection> usedFolders = null)
+ {
+ if (usedFolders == null)
+ usedFolders = new List<NesMenuCollection>();
+ if (usedFolders.Contains(nesMenuCollection))
+ return;
+ usedFolders.Add(nesMenuCollection);
+ var sorted = nesMenuCollection.OrderBy(o => o.Name).OrderBy(o => (o is NesMenuFolder) ? (byte)(o as NesMenuFolder).Position : 2);
+ foreach (var nesElement in sorted)
+ {
+ var newNode = new TreeNode();
+ if (nesElement is NesMenuFolder)
+ {
+ if (usedFolders.Contains((nesElement as NesMenuFolder).ChildMenuCollection))
+ {
+ nesMenuCollection.Remove(nesElement); // We don't need any "back" folders
+ continue;
+ }
+ }
+ newNode.SelectedImageIndex = newNode.ImageIndex = getImageIndex(nesElement as INesMenuElement);
+ newNode.Text = nesElement.Name;
+ newNode.Tag = nesElement;
+ treeNodeCollection.Add(newNode);
+ if (nesElement is NesMenuFolder)
+ {
+ AddNodes(newNode.Nodes, (nesElement as NesMenuFolder).ChildMenuCollection, usedFolders);
+ }
+ }
+ }
+
+ private void buttonNoFolders_Click(object sender, EventArgs e)
+ {
+ DrawSplitTree(NesMenuCollection.SplitStyle.NoSplit);
+ }
+
+ private void buttonNoFoldersOriginal_Click(object sender, EventArgs e)
+ {
+ DrawSplitTree(NesMenuCollection.SplitStyle.Original_NoSplit);
+ }
+
+ private void buttonFoldersEqually_Click(object sender, EventArgs e)
+ {
+ DrawSplitTree(NesMenuCollection.SplitStyle.FoldersEqual);
+ }
+
+ private void buttonFoldersEquallyOriginal_Click(object sender, EventArgs e)
+ {
+ DrawSplitTree(NesMenuCollection.SplitStyle.Original_FoldersEqual);
+ }
+
+ private void buttonFoldersLetters_Click(object sender, EventArgs e)
+ {
+ DrawSplitTree(NesMenuCollection.SplitStyle.FoldersAlphabetic_FoldersEqual);
+ }
+
+ private void buttonFoldersLettersOriginal_Click(object sender, EventArgs e)
+ {
+ DrawSplitTree(NesMenuCollection.SplitStyle.Original_FoldersAlphabetic_FoldersEqual);
+ }
+
+ private void treeView_AfterSelect(object sender, TreeViewEventArgs e)
+ {
+ ShowSelected();
+ }
+
+ private void ShowSelected()
+ {
+ var node = treeView.SelectedNode;
+ listViewContent.Clear();
+ if (node != null && (node.Nodes.Count > 0 || node.Tag is NesMenuFolder)) // Folder or root
+ {
+ pictureBoxArt.Image = (node.Tag is NesMenuFolder) ? (node.Tag as NesMenuFolder).Image : null;
+ groupBoxArt.Enabled = (node.Tag is NesMenuFolder);
+ groupBoxSplitModes.Enabled = true;
+ pictureBoxArt.Cursor = Cursors.Hand;
+ listViewContent.Enabled = true;
+ foreach (TreeNode n in node.Nodes)
+ {
+ var element = (INesMenuElement)n.Tag;
+ var item = new ListViewItem();
+ item.Text = element.Name;
+ var transparency = cuttedNodes.Contains(n) ? 1 : 0;
+ item.ImageIndex = getImageIndex(element) + transparency;
+ item.Tag = n;
+ listViewContent.Items.Add(item);
+ }
+ }
+ else
+ {
+ if (node != null && node.Tag is NesMiniApplication)
+ {
+ var game = node.Tag as NesMiniApplication;
+ pictureBoxArt.Image = NesMiniApplication.LoadBitmap(game.IconPath);
+ groupBoxArt.Enabled = true;
+ listViewContent.Enabled = false;
+ }
+ else //if (e.Node.Tag is NesDefaultGame)
+ {
+ pictureBoxArt.Image = null;
+ groupBoxArt.Enabled = false;
+ }
+ listViewContent.Enabled = false;
+ groupBoxSplitModes.Enabled = false;
+ pictureBoxArt.Cursor = Cursors.Default;
+ }
+ ShowFolderStats();
+ }
+
+ void ShowFolderStats()
+ {
+ var node = treeView.SelectedNode;
+ if (node != null && (node.Tag is NesMenuCollection || node.Tag is NesMenuFolder)) // Folder or root
+ {
+ labelElementCount.Text = string.Format(Resources.FolderStatistics, node.Text, node.Nodes.Count);
+ buttonNewFolder.Enabled = true;
+ }
+ else
+ {
+ labelElementCount.Text = "";
+ buttonNewFolder.Enabled = false;
+ }
+ if (node != null && node.Tag is NesMenuFolder) // Folder
+ {
+ labelPosition.Enabled = comboBoxPosition.Enabled = true;
+ var folder = node.Tag as NesMenuFolder;
+ var position = (int)folder.Position;
+ if (position > 1) position--;
+ comboBoxPosition.SelectedIndex = position;
+ }
+ else
+ {
+ labelPosition.Enabled = comboBoxPosition.Enabled = false;
+ comboBoxPosition.SelectedIndex = -1;
+ }
+ }
+
+ private void listViewContent_MouseDoubleClick(object sender, MouseEventArgs e)
+ {
+ if (e.Button == System.Windows.Forms.MouseButtons.Left && listViewContent.SelectedItems.Count == 1)
+ {
+ var node = (listViewContent.SelectedItems[0].Tag as TreeNode);
+ treeView.SelectedNode = node;
+ //node.Expand();
+ }
+ }
+
+ private void treeView_BeforeLabelEdit(object sender, NodeLabelEditEventArgs e)
+ {
+ if (!(e.Node.Tag is NesMenuFolder))
+ e.CancelEdit = true;
+ }
+
+ private void treeView_AfterLabelEdit(object sender, NodeLabelEditEventArgs e)
+ {
+ if (!(e.Node.Tag is NesMenuFolder) ||
+ string.IsNullOrEmpty(e.Label) || string.IsNullOrEmpty(e.Label.Trim()))
+ e.CancelEdit = true;
+ else
+ {
+ e.Node.Text = e.Label;
+ (e.Node.Tag as INesMenuElement).Name = e.Label;
+ var parent = e.Node.Parent;
+ FixSort(e.Node);
+ }
+ }
+
+ private void listViewContent_BeforeLabelEdit(object sender, LabelEditEventArgs e)
+ {
+ if (!((listViewContent.Items[e.Item].Tag as TreeNode).Tag is NesMenuFolder))
+ e.CancelEdit = true;
+ }
+
+ private void listViewContent_AfterLabelEdit(object sender, LabelEditEventArgs e)
+ {
+ if (string.IsNullOrEmpty(e.Label) || string.IsNullOrEmpty(e.Label.Trim()))
+ e.CancelEdit = true;
+ else
+ {
+ var item = listViewContent.Items[e.Item];
+ var node = item.Tag as TreeNode;
+ node.Text = e.Label;
+ (node.Tag as INesMenuElement).Name = e.Label;
+ FixSort(item);
+ }
+ }
+
+ private void FixSort(object o)
+ {
+ // This is most simple to resort node without resorting the whole tree/list
+ new Thread(KostilKostilevich).Start(o);
+ }
+ private void KostilKostilevich(object o)
+ {
+ // This is stupid workaround for resort after renaming item, lol
+ if (InvokeRequired)
+ {
+ Invoke(new Action<object>(KostilKostilevich), new object[] { o });
+ return;
+ }
+ if (o is TreeNode)
+ {
+ var node = o as TreeNode;
+ var parent = node.Parent;
+ parent.Nodes.Remove(node);
+ parent.Nodes.Add(node);
+ treeView.SelectedNode = node;
+ ShowFolderStats();
+ }
+ if (o is ListViewItem)
+ {
+ var item = o as ListViewItem;
+ listViewContent.Items.Remove(item);
+ listViewContent.Items.Add(item);
+ var node = item.Tag as TreeNode;
+ var parent = node.Parent;
+ parent.Nodes.Remove(node);
+ parent.Nodes.Add(node);
+ }
+ }
+
+ private void treeView_ItemDrag(object sender, ItemDragEventArgs e)
+ {
+ if ((e.Button == MouseButtons.Left) && !((e.Item as TreeNode).Tag is NesMenuCollection)) // We can't drag root
+ DoDragDrop(new TreeNode[] { (TreeNode)e.Item }, DragDropEffects.Move);
+ }
+
+ private void listViewContent_ItemDrag(object sender, ItemDragEventArgs e)
+ {
+ if (e.Button != MouseButtons.Left) return;
+ var nodes = new List<TreeNode>();
+ foreach (ListViewItem i in listViewContent.SelectedItems)
+ nodes.Add(i.Tag as TreeNode);
+ DoDragDrop(nodes.ToArray(), DragDropEffects.Move);
+ }
+
+ private void treeView_DragEnter(object sender, DragEventArgs e)
+ {
+ if (e.Data.GetDataPresent("System.Windows.Forms.TreeNode[]", false))
+ e.Effect = DragDropEffects.Move;
+ }
+
+ private void treeView_DragDrop(object sender, DragEventArgs e)
+ {
+ if (e.Data.GetDataPresent("System.Windows.Forms.TreeNode[]", false))
+ {
+ TreeNode destinationNode;
+ if (sender is TreeView)
+ {
+ Point pt = ((TreeView)sender).PointToClient(new Point(e.X, e.Y));
+ destinationNode = ((TreeView)sender).GetNodeAt(pt);
+ }
+ else
+ {
+ Point pt = ((ListView)sender).PointToClient(new Point(e.X, e.Y));
+ var item = ((ListView)sender).GetItemAt(pt.X, pt.Y);
+ if (item == null)
+ destinationNode = treeView.SelectedNode;
+ else
+ destinationNode = (TreeNode)item.Tag;
+ }
+ var newNodes = (TreeNode[])e.Data.GetData("System.Windows.Forms.TreeNode[]");
+ MoveToFolder(newNodes, destinationNode, false);
+ if (sender is TreeView)
+ treeView.Select();
+ else
+ listViewContent.Select();
+ }
+ }
+
+ private void buttonNewFolder_Click(object sender, EventArgs e)
+ {
+ newFolder(null);
+ }
+
+ private void comboBoxPosition_SelectionChangeCommitted(object sender, EventArgs e)
+ {
+ if (!(treeView.SelectedNode.Tag is NesMenuFolder)) return;
+ int value = comboBoxPosition.SelectedIndex;
+ if (value >= 2) value++;
+ var node = treeView.SelectedNode;
+ var folder = (node.Tag as NesMenuFolder);
+ folder.Position = (NesMenuFolder.Priority)value;
+ FixSort(node);
+ }
+
+ private void renameToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ renameFolder((sender as ToolStripMenuItem).Tag);
+ }
+
+ private void deleteToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if ((sender as ToolStripMenuItem).Tag is TreeNode)
+ deleteElements(new TreeNode[] { treeView.SelectedNode });
+ else
+ if ((sender as ToolStripMenuItem).Tag is ListView)
+ deleteElements(from i in listViewContent.SelectedItems.Cast<ListViewItem>().ToArray() select i.Tag as TreeNode);
+ }
+ private void cutToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if ((sender as ToolStripMenuItem).Tag is TreeNode)
+ cutElements(new TreeNode[] { treeView.SelectedNode });
+ else
+ if ((sender as ToolStripMenuItem).Tag is ListView)
+ cutElements(from i in listViewContent.SelectedItems.Cast<ListViewItem>().ToArray() select i.Tag as TreeNode);
+ }
+
+ private void pasteToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ pasteElements(treeView.SelectedNode);
+ }
+
+ private void treeView_MouseDown(object sender, MouseEventArgs e)
+ {
+ if (e.Button != MouseButtons.Right) return;
+ if (sender is TreeView)
+ {
+ var destinationNode = ((TreeView)sender).GetNodeAt(e.X, e.Y);
+ if (destinationNode == null) destinationNode = treeView.Nodes[0]; // Root
+
+ newFolderToolStripMenuItem.Tag = deleteToolStripMenuItem.Tag = renameToolStripMenuItem.Tag =
+ cutToolStripMenuItem.Tag = pasteToolStripMenuItem.Tag = destinationNode;
+ newFolderToolStripMenuItem.Enabled = true;
+ if ((destinationNode.Tag is NesMenuFolder || destinationNode.Tag is NesMenuCollection)) // Folder
+ treeView.SelectedNode = destinationNode;
+ else
+ newFolderToolStripMenuItem.Tag = destinationNode.Parent;
+ renameToolStripMenuItem.Enabled = destinationNode.Tag is NesMenuFolder; // Folder
+ cutToolStripMenuItem.Enabled = deleteToolStripMenuItem.Enabled = !(destinationNode.Tag is NesMenuCollection); // Not root
+ pasteToolStripMenuItem.Enabled = cuttedNodes.Count > 0;
+ }
+ else
+ {
+ var item = ((ListView)sender).GetItemAt(e.X, e.Y);
+ if (listViewContent.SelectedItems.Count == 0 && item != null) item.Selected = true;
+ renameToolStripMenuItem.Tag = item;
+ newFolderToolStripMenuItem.Tag = deleteToolStripMenuItem.Tag = cutToolStripMenuItem.Tag = pasteToolStripMenuItem.Tag = listViewContent;
+ newFolderToolStripMenuItem.Enabled = treeView.SelectedNode != null && (treeView.SelectedNode.Tag is NesMenuFolder || treeView.SelectedNode.Tag is NesMenuCollection); // Folder
+ renameToolStripMenuItem.Enabled = (item != null) && (item.Tag as TreeNode).Tag is NesMenuFolder;
+ cutToolStripMenuItem.Enabled = deleteToolStripMenuItem.Enabled = listViewContent.SelectedItems.Count > 0;
+ pasteToolStripMenuItem.Enabled = cuttedNodes.Count > 0;
+ }
+ contextMenuStrip.Show(sender as Control, e.X, e.Y);
+ }
+
+ private void newFolderToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if ((sender as ToolStripMenuItem).Tag is TreeNode)
+ newFolder((sender as ToolStripMenuItem).Tag as TreeNode);
+ else
+ newFolder(null);
+ }
+ bool MoveToFolder(IEnumerable<TreeNode> newNodes, TreeNode destinationNode, bool showDest = true)
+ {
+ if (destinationNode == null)
+ destinationNode = treeView.Nodes[0]; // Root
+ if (destinationNode.Tag is NesMiniApplication || destinationNode.Tag is NesDefaultGame)
+ destinationNode = destinationNode.Parent;
+ foreach (var newNode in newNodes)
+ {
+ if (!destinationNode.FullPath.StartsWith(newNode.FullPath) && (destinationNode != newNode.Parent))
+ {
+ Debug.WriteLine(string.Format("Drag: {0}->{1}", newNode, destinationNode));
+ if (newNode.Parent.Tag is NesMenuFolder)
+ (newNode.Parent.Tag as NesMenuFolder).ChildMenuCollection.Remove(newNode.Tag as INesMenuElement);
+ else if (newNode.Parent.Tag is NesMenuCollection)
+ (newNode.Parent.Tag as NesMenuCollection).Remove(newNode.Tag as INesMenuElement);
+ newNode.Parent.Nodes.Remove(newNode);
+ destinationNode.Nodes.Add(newNode);
+ if (destinationNode.Tag is NesMenuFolder)
+ (destinationNode.Tag as NesMenuFolder).ChildMenuCollection.Add(newNode.Tag as INesMenuElement);
+ else if (destinationNode.Tag is NesMenuCollection)
+ (destinationNode.Tag as NesMenuCollection).Add(newNode.Tag as INesMenuElement);
+ }
+ else
+ {
+ System.Media.SystemSounds.Hand.Play();
+ return false;
+ }
+ }
+ if (showDest)
+ treeView.SelectedNode = destinationNode;
+
+ if (treeView.SelectedNode == destinationNode)
+ ShowSelected();
+ else
+ foreach (var i in (from n in listViewContent.Items.Cast<ListViewItem>().ToArray() where newNodes.Contains(n.Tag as TreeNode) select n))
+ listViewContent.Items.Remove(i);
+ foreach (ListViewItem item in listViewContent.Items)
+ item.Selected = newNodes.Contains(item.Tag as TreeNode) || item.Tag == destinationNode;
+ ShowFolderStats();
+ return true;
+ }
+
+ void newFolder(TreeNode parent = null)
+ {
+ var newFolder = new NesMenuFolder(Resources.FolderNameNewFolder);
+ var folderImageIndex = getImageIndex(newFolder);
+ var newnode = new TreeNode(Resources.FolderNameNewFolder, folderImageIndex, folderImageIndex);
+ newnode.Tag = newFolder;
+ if (parent != null)
+ {
+ parent.Nodes.Add(newnode);
+ treeView.SelectedNode = newnode;
+ ShowSelected();
+ newnode.BeginEdit();
+ }
+ else if (treeView.SelectedNode != null)
+ {
+ parent = treeView.SelectedNode;
+ parent.Nodes.Add(newnode);
+ ShowFolderStats();
+ var item = new ListViewItem(newnode.Text, folderImageIndex);
+ item.Tag = newnode;
+ listViewContent.SelectedItems.Clear();
+ listViewContent.Items.Add(item);
+ item.BeginEdit();
+ }
+ if (parent != null)
+ {
+ if (parent.Tag is NesMenuFolder)
+ (parent.Tag as NesMenuFolder).ChildMenuCollection.Add(newFolder);
+ else if (parent.Tag is NesMenuCollection)
+ (parent.Tag as NesMenuCollection).Add(newFolder);
+ }
+ }
+
+ TreeNode getFolder(string name)
+ {
+ var root = treeView.Nodes[0];
+ foreach (TreeNode el in root.Nodes)
+ {
+ if (el.Text == name && el.Tag is NesMenuFolder)
+ return el;
+ }
+ var newFolder = new NesMenuFolder(name);
+ var folderImageIndex = getImageIndex(newFolder);
+ var newNode = new TreeNode(name, folderImageIndex, folderImageIndex);
+ newFolder.Position = NesMenuFolder.Priority.Leftmost;
+ newNode.Tag = newFolder;
+ (root.Tag as NesMenuCollection).Add(newFolder);
+ root.Nodes.Add(newNode);
+ return newNode;
+ }
+
+ void deleteElements(IEnumerable<TreeNode> nodes)
+ {
+ if (nodes.Count() == 1)
+ {
+ if (MessageBox.Show(this, string.Format(Resources.DeleteElement, nodes.First().Text),
+ Resources.AreYouSure, MessageBoxButtons.YesNo,
+ MessageBoxIcon.Warning) != DialogResult.Yes)
+ return;
+ }
+ else
+ {
+ if (MessageBox.Show(this, string.Format(Resources.DeleteElements, nodes.Count()),
+ Resources.AreYouSure, MessageBoxButtons.YesNo,
+ MessageBoxIcon.Warning) != DialogResult.Yes)
+ return;
+ }
+ bool needWarn = false;
+ TreeNode parent = null;
+ foreach (var node in nodes)
+ {
+ parent = node.Parent;
+ if (node.Tag is NesMenuFolder) // Folder
+ {
+ if (node.Nodes.Count > 0)
+ {
+ var unsortedFolder = getFolder(Resources.FolderNameTrashBin);
+ if (node.FullPath.StartsWith(unsortedFolder.FullPath)) // It's already in trash bin
+ {
+ (node.Tag as NesMenuFolder).ChildMenuCollection.Unsplit();
+ deletedGames.AddRange((node.Tag as NesMenuFolder).ChildMenuCollection);
+ (node.Tag as NesMenuFolder).ChildMenuCollection.Clear();
+ }
+ else
+ {
+ MoveToFolder(node.Nodes.Cast<TreeNode>().ToArray(), unsortedFolder, false);
+ needWarn = true;
+ }
+ }
+ if (parent.Tag is NesMenuFolder)
+ (parent.Tag as NesMenuFolder).ChildMenuCollection.Remove(node.Tag as INesMenuElement);
+ else if (parent.Tag is NesMenuCollection)
+ (parent.Tag as NesMenuCollection).Remove(node.Tag as INesMenuElement);
+ parent.Nodes.Remove(node);
+ }
+ else
+ { // Game
+ var unsortedFolder = getFolder(Resources.FolderNameTrashBin);
+ if (node.FullPath.StartsWith(unsortedFolder.FullPath)) // It's already in trash bin
+ {
+ deletedGames.Add(node.Tag as INesMenuElement);
+ if (parent.Tag is NesMenuFolder)
+ (parent.Tag as NesMenuFolder).ChildMenuCollection.Remove(node.Tag as INesMenuElement);
+ else if (parent.Tag is NesMenuCollection)
+ (parent.Tag as NesMenuCollection).Remove(node.Tag as INesMenuElement);
+ parent.Nodes.Remove(node);
+ }
+ else
+ {
+ MoveToFolder(new TreeNode[] { node }, unsortedFolder, false);
+ needWarn = true;
+ }
+ }
+ foreach (var i in from i in listViewContent.Items.Cast<ListViewItem>().ToArray() where i.Tag == node select i)
+ listViewContent.Items.Remove(i);
+ cuttedNodes.Remove(node);
+ }
+ if (parent != null)
+ treeView.SelectedNode = parent;
+ if (needWarn)
+ MessageBox.Show(this, Resources.FolderContent, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ buttonOk.Enabled = treeView.Nodes[0].Nodes.Count > 0;
+ }
+
+ void cutElements(IEnumerable<TreeNode> nodes)
+ {
+ foreach (var node in cuttedNodes)
+ node.SelectedImageIndex = node.ImageIndex = node.ImageIndex / 2 * 2;
+ cuttedNodes.Clear();
+
+ foreach (var node in nodes)
+ {
+ cuttedNodes.Add(node);
+ node.SelectedImageIndex = node.ImageIndex = node.ImageIndex / 2 * 2 + 1;
+ }
+ foreach (ListViewItem item in listViewContent.Items)
+ {
+ item.ImageIndex = item.ImageIndex / 2 * 2 +
+ ((cuttedNodes.Contains(item.Tag as TreeNode)) ? 1 : 0);
+ }
+ }
+
+ void pasteElements(TreeNode node)
+ {
+ if ((cuttedNodes.Count > 0) && MoveToFolder(cuttedNodes, node))
+ {
+ cutElements(new TreeNode[0]);
+ }
+ }
+
+ private void renameFolder(object folder)
+ {
+ if (folder is TreeNode)
+ (folder as TreeNode).BeginEdit();
+ else if (folder is ListViewItem)
+ (folder as ListViewItem).BeginEdit();
+ }
+
+ private void treeView_KeyDown(object sender, KeyEventArgs e)
+ {
+ if (e.KeyCode == Keys.Delete && e.Modifiers == Keys.None)
+ {
+ if ((treeView.SelectedNode != null) && !(treeView.SelectedNode.Tag is NesMenuCollection))
+ deleteElements(new TreeNode[] { treeView.SelectedNode });
+ }
+ else if (e.KeyCode == Keys.F2 && e.Modifiers == Keys.None)
+ {
+ if ((treeView.SelectedNode != null) && (treeView.SelectedNode.Tag is NesMenuFolder))
+ renameFolder(treeView.SelectedNode);
+ }
+ else if (e.KeyCode == Keys.X && e.Modifiers == Keys.Control)
+ {
+ if ((treeView.SelectedNode != null) && !(treeView.SelectedNode.Tag is NesMenuCollection))
+ cutElements(new TreeNode[] { treeView.SelectedNode });
+ }
+ else if (e.KeyCode == Keys.V && e.Modifiers == Keys.Control)
+ {
+ if (treeView.SelectedNode != null)
+ {
+ if ((treeView.SelectedNode.Tag is NesMenuFolder || treeView.SelectedNode.Tag is NesMenuCollection))
+ pasteElements(treeView.SelectedNode);
+ else
+ pasteElements(treeView.SelectedNode.Parent);
+ }
+ }
+ else if (e.KeyCode == Keys.N && e.Modifiers == Keys.Control)
+ {
+ if (treeView.SelectedNode != null)
+ {
+ if (treeView.SelectedNode.Tag is NesMenuFolder || treeView.SelectedNode.Tag is NesMenuCollection)
+ newFolder(treeView.SelectedNode);
+ else
+ newFolder(treeView.SelectedNode.Parent);
+ }
+ }
+ }
+
+ private void listViewContent_KeyDown(object sender, KeyEventArgs e)
+ {
+ if (e.KeyCode == Keys.Delete)
+ {
+ deleteElements(from i in listViewContent.SelectedItems.Cast<ListViewItem>().ToArray() select i.Tag as TreeNode);
+ }
+ else if (e.KeyCode == Keys.F2 && e.Modifiers == Keys.None)
+ {
+ if (listViewContent.SelectedItems.Count != 1) return;
+ var item = listViewContent.SelectedItems[0];
+ renameFolder(item);
+ }
+ else if (e.KeyCode == Keys.A && e.Modifiers == Keys.Control)
+ {
+ foreach (ListViewItem item in listViewContent.Items)
+ item.Selected = true;
+ }
+ else if (e.KeyCode == Keys.X && e.Modifiers == Keys.Control)
+ {
+ cutElements(from i in listViewContent.SelectedItems.Cast<ListViewItem>().ToArray() select i.Tag as TreeNode);
+ }
+ else if (e.KeyCode == Keys.V && e.Modifiers == Keys.Control)
+ {
+ if (treeView.SelectedNode != null)
+ {
+ if ((treeView.SelectedNode.Tag is NesMenuFolder || treeView.SelectedNode.Tag is NesMenuCollection))
+ pasteElements(treeView.SelectedNode);
+ else
+ pasteElements(treeView.SelectedNode.Parent);
+ }
+ }
+ else if (e.KeyCode == Keys.N && e.Modifiers == Keys.Control)
+ {
+ if (treeView.SelectedNode != null && (treeView.SelectedNode.Tag is NesMenuFolder || treeView.SelectedNode.Tag is NesMenuCollection))
+ newFolder();
+ }
+ }
+
+ private void listViewContent_KeyPress(object sender, KeyPressEventArgs e)
+ {
+ if (e.KeyChar == (char)13)
+ {
+ if (listViewContent.SelectedItems.Count != 1) return;
+ var item = listViewContent.SelectedItems[0];
+
+ if (!((item.Tag as TreeNode).Tag is NesMenuFolder))
+ return;
+ treeView.SelectedNode = item.Tag as TreeNode;
+ }
+ else if (e.KeyChar == (char)8)
+ {
+ if (treeView.SelectedNode != null && treeView.SelectedNode.Parent != null)
+ {
+ treeView.SelectedNode = treeView.SelectedNode.Parent;
+ }
+ }
+ }
+
+ private void buttonOk_Click(object sender, EventArgs e)
+ {
+ SaveTree();
+ DialogResult = DialogResult.OK;
+ }
+
+ private void buttonCancel_Click(object sender, EventArgs e)
+ {
+ Close();
+ }
+
+ private void pictureBoxArt_Click(object sender, EventArgs e)
+ {
+ if (treeView.SelectedNode != null && treeView.SelectedNode.Tag is NesMenuFolder)
+ {
+ var folder = treeView.SelectedNode.Tag as NesMenuFolder;
+ var form = new SelectIconForm(folder.ImageId);
+ if (form.ShowDialog() == DialogResult.OK)
+ {
+ folder.ImageId = form.listBox.SelectedItem.ToString();
+ pictureBoxArt.Image = folder.Image;
+ }
+ }
+ }
+
+ private void TreeContructorForm_FormClosing(object sender, FormClosingEventArgs e)
+ {
+ if (e.CloseReason != CloseReason.UserClosing || DialogResult == System.Windows.Forms.DialogResult.OK) return;
+ var a = MessageBox.Show(this, Resources.FoldersSaveQ, this.Text, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
+ if (a == System.Windows.Forms.DialogResult.Cancel)
+ {
+ e.Cancel = true;
+ return;
+ }
+ if (a == System.Windows.Forms.DialogResult.Yes)
+ SaveTree();
+ DialogResult = DialogResult.Cancel;
+ }
+
+ void SaveTree()
+ {
+ Directory.CreateDirectory(Path.GetDirectoryName(FoldersXmlPath));
+ File.WriteAllText(FoldersXmlPath, TreeToXml());
+ if (mainForm != null)
+ {
+ for (int i = 0; i < mainForm.checkedListBoxGames.Items.Count; i++)
+ {
+ if (deletedGames.Contains(mainForm.checkedListBoxGames.Items[i] as NesMiniApplication))
+ mainForm.checkedListBoxGames.SetItemChecked(i, false);
+ }
+
+ ConfigIni.Save();
+ }
+ }
+
+ private string TreeToXml()
+ {
+ var root = treeView.Nodes[0];
+ var xml = new XmlDocument();
+ var treeNode = xml.CreateElement("Tree");
+ xml.AppendChild(treeNode);
+ NodeToXml(xml, treeNode, root);
+ using (var stringWriter = new StringWriter())
+ using (var xmlTextWriter = new XmlTextWriter(stringWriter))
+ {
+ xmlTextWriter.Formatting = Formatting.Indented;
+ xmlTextWriter.WriteStartDocument();
+ xml.WriteTo(xmlTextWriter);
+ xmlTextWriter.WriteEndDocument();
+ xmlTextWriter.Flush();
+ return stringWriter.GetStringBuilder().ToString();
+ }
+ }
+ private void NodeToXml(XmlDocument xml, XmlElement element, TreeNode node)
+ {
+ foreach (TreeNode child in node.Nodes)
+ {
+ if (child.Tag is NesMenuFolder)
+ {
+ var subElement = xml.CreateElement("Folder");
+ var folder = child.Tag as NesMenuFolder;
+ subElement.SetAttribute("name", folder.Name);
+ subElement.SetAttribute("icon", folder.ImageId);
+ subElement.SetAttribute("position", ((byte)folder.Position).ToString());
+ element.AppendChild(subElement);
+ NodeToXml(xml, subElement, child);
+ }
+ else if (child.Tag is NesMiniApplication)
+ {
+ var subElement = xml.CreateElement("Game");
+ var game = child.Tag as NesMiniApplication;
+ subElement.SetAttribute("code", game.Code);
+ subElement.SetAttribute("name", game.Name);
+ element.AppendChild(subElement);
+ }
+ else if (child.Tag is NesDefaultGame)
+ {
+ var subElement = xml.CreateElement("OriginalGame");
+ var game = child.Tag as NesDefaultGame;
+ subElement.SetAttribute("code", game.Code);
+ subElement.SetAttribute("name", game.Name);
+ element.AppendChild(subElement);
+ }
+ }
+ }
+ void XmlToTree(string xmlString)
+ {
+ gamesCollection.Unsplit();
+ var oldCollection = new NesMenuCollection();
+ oldCollection.AddRange(gamesCollection);
+ var xml = new XmlDocument();
+ xml.LoadXml(xmlString);
+ gamesCollection.Clear();
+ XmlToNode(xml, xml.SelectSingleNode("/Tree").ChildNodes, oldCollection, gamesCollection);
+ // oldCollection has only unsorted (new) games
+ if (oldCollection.Count > 0)
+ {
+ NesMenuFolder unsorted;
+ var unsorteds = from f in gamesCollection where f is NesMenuFolder && f.Name == Resources.FolderNameUnsorted select f;
+ if (unsorteds.Count() > 0)
+ unsorted = unsorteds.First() as NesMenuFolder;
+ else
+ {
+ unsorted = new NesMenuFolder(Resources.FolderNameUnsorted);
+ unsorted.Position = NesMenuFolder.Priority.Leftmost;
+ gamesCollection.Add(unsorted);
+ }
+ foreach (var game in oldCollection)
+ unsorted.ChildMenuCollection.Add(game);
+ MessageBox.Show(this, Resources.NewGamesUnsorted, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ DrawTree();
+ }
+
+ void XmlToNode(XmlDocument xml, XmlNodeList elements, NesMenuCollection rootMenuCollection, NesMenuCollection nesMenuCollection = null)
+ {
+ if (nesMenuCollection == null)
+ nesMenuCollection = rootMenuCollection;
+ foreach (XmlNode element in elements)
+ {
+ switch (element.Name)
+ {
+ case "Folder":
+ var folder = new NesMenuFolder(element.Attributes["name"].Value, element.Attributes["icon"].Value);
+ folder.Position = (NesMenuFolder.Priority)byte.Parse(element.Attributes["position"].Value);
+ nesMenuCollection.Add(folder);
+ XmlToNode(xml, element.ChildNodes, rootMenuCollection, folder.ChildMenuCollection);
+ break;
+ case "Game":
+ case "OriginalGame":
+ var code = element.Attributes["code"].Value;
+ var games = from n in rootMenuCollection where ((n is NesMiniApplication || n is NesDefaultGame) && (n.Code == code)) select n;
+ if (games.Count() > 0)
+ {
+ var game = games.First();
+ nesMenuCollection.Add(game);
+ rootMenuCollection.Remove(game);
+ }
+ break;
+ }
+ }
+ }
+ }
+}
diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs
index de6de7ec..f5a02e49 100644
--- a/MainForm.Designer.cs
+++ b/MainForm.Designer.cs
@@ -1,1152 +1,1129 @@
-namespace com.clusterrr.hakchi_gui
-{
- partial class MainForm
- {
- /// <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()
- {
- this.components = new System.ComponentModel.Container();
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
- this.menuStrip = new System.Windows.Forms.MenuStrip();
- this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.addMoreGamesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.presetsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator();
- this.addPresetToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.deletePresetToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.synchronizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.searchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.downloadCoversForAllGamesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
- this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.kernelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.dumpKernelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.flashOriginalKernelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.flashCustomKernelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.uninstallToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.modulesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.installModulesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.uninstallModulesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.languageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.consoleTypeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.nESMiniToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.famicomMiniToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.cloverconHackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.resetUsingCombinationOfButtonsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.selectButtonCombinationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.enableAutofireToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.useXYOnClassicControllerAsAutofireABToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.upABStartOnSecondControllerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.useExtendedFontToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.epilepsyProtectionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.compressGamesIfPossibleToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.pagesfoldersTypeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.disablePagefoldersToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripSeparator();
- this.automaticToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.automaticOriginalToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.pagesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.pagesOriginalToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.foldersToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.foldersOriginalToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.foldersSplitByFirstLetterToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.foldersSplitByFirstLetterOriginalToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.maximumGamesPerFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.max20toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.max25toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.max30toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.max35toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.max40toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.max45toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.max50toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.max60toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.max70toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.max80toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.max90toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.max100toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripSeparator();
- this.customToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.globalCommandLineArgumentsexpertsOnluToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripMenuItem5 = new System.Windows.Forms.ToolStripSeparator();
- this.saveSettingsToNESMiniNowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.toolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.saveStateManagerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripMenuItem6 = new System.Windows.Forms.ToolStripSeparator();
- this.FTPToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.openFTPInExplorerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripMenuItem7 = new System.Windows.Forms.ToolStripSeparator();
- this.shellToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.openTelnetToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripMenuItem8 = new System.Windows.Forms.ToolStripSeparator();
- this.takeScreenshotToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.gitHubPageWithActualReleasesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.fAQToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.checkedListBoxGames = new System.Windows.Forms.CheckedListBox();
- this.groupBoxOptions = new System.Windows.Forms.GroupBox();
- this.buttonShowGameGenieDatabase = new System.Windows.Forms.Button();
- this.maskedTextBoxReleaseDate = new System.Windows.Forms.MaskedTextBox();
- this.label1 = new System.Windows.Forms.Label();
- this.textBoxGameGenie = new System.Windows.Forms.TextBox();
- this.label7 = new System.Windows.Forms.Label();
- this.label6 = new System.Windows.Forms.Label();
- this.radioButtonTwoSim = new System.Windows.Forms.RadioButton();
- this.buttonGoogle = new System.Windows.Forms.Button();
- this.buttonBrowseImage = new System.Windows.Forms.Button();
- this.pictureBoxArt = new System.Windows.Forms.PictureBox();
- this.label4 = new System.Windows.Forms.Label();
- this.textBoxArguments = new System.Windows.Forms.TextBox();
- this.label3 = new System.Windows.Forms.Label();
- this.textBoxPublisher = new System.Windows.Forms.TextBox();
- this.label2 = new System.Windows.Forms.Label();
- this.radioButtonTwo = new System.Windows.Forms.RadioButton();
- this.radioButtonOne = new System.Windows.Forms.RadioButton();
- this.textBoxName = new System.Windows.Forms.TextBox();
- this.labelName = new System.Windows.Forms.Label();
- this.labelID = new System.Windows.Forms.Label();
- this.label5 = new System.Windows.Forms.Label();
- this.buttonAddGames = new System.Windows.Forms.Button();
- this.statusStrip = new System.Windows.Forms.StatusStrip();
- this.toolStripStatusConnectionIcon = new System.Windows.Forms.ToolStripStatusLabel();
- this.toolStripStatusLabelSelected = new System.Windows.Forms.ToolStripStatusLabel();
- this.toolStripStatusLabelSize = new System.Windows.Forms.ToolStripStatusLabel();
- this.toolStripProgressBar = new System.Windows.Forms.ToolStripProgressBar();
- this.openFileDialogNes = new System.Windows.Forms.OpenFileDialog();
- this.contextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
- this.selectAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.unselectAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.deleteGameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.openFileDialogImage = new System.Windows.Forms.OpenFileDialog();
- this.buttonStart = new System.Windows.Forms.Button();
- this.groupBoxDefaultGames = new System.Windows.Forms.GroupBox();
- this.checkedListBoxDefaultGames = new System.Windows.Forms.CheckedListBox();
- this.timerCalculateGames = new System.Windows.Forms.Timer(this.components);
- this.timerConnectionCheck = new System.Windows.Forms.Timer(this.components);
- this.menuStrip.SuspendLayout();
- this.groupBoxOptions.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBoxArt)).BeginInit();
- this.statusStrip.SuspendLayout();
- this.contextMenuStrip.SuspendLayout();
- this.groupBoxDefaultGames.SuspendLayout();
- this.SuspendLayout();
- //
- // menuStrip
- //
- this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.fileToolStripMenuItem,
- this.kernelToolStripMenuItem,
- this.modulesToolStripMenuItem,
- this.settingsToolStripMenuItem,
- this.toolsToolStripMenuItem,
- this.helpToolStripMenuItem});
- resources.ApplyResources(this.menuStrip, "menuStrip");
- this.menuStrip.Name = "menuStrip";
- //
- // fileToolStripMenuItem
- //
- this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.addMoreGamesToolStripMenuItem,
- this.presetsToolStripMenuItem,
- this.synchronizeToolStripMenuItem,
- this.searchToolStripMenuItem,
- this.downloadCoversForAllGamesToolStripMenuItem,
- this.toolStripMenuItem1,
- this.exitToolStripMenuItem});
- this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
- resources.ApplyResources(this.fileToolStripMenuItem, "fileToolStripMenuItem");
- //
- // addMoreGamesToolStripMenuItem
- //
- this.addMoreGamesToolStripMenuItem.Name = "addMoreGamesToolStripMenuItem";
- resources.ApplyResources(this.addMoreGamesToolStripMenuItem, "addMoreGamesToolStripMenuItem");
- this.addMoreGamesToolStripMenuItem.Click += new System.EventHandler(this.buttonAddGames_Click);
- //
- // presetsToolStripMenuItem
- //
- this.presetsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.toolStripMenuItem2,
- this.addPresetToolStripMenuItem,
- this.deletePresetToolStripMenuItem});
- this.presetsToolStripMenuItem.Name = "presetsToolStripMenuItem";
- resources.ApplyResources(this.presetsToolStripMenuItem, "presetsToolStripMenuItem");
- //
- // toolStripMenuItem2
- //
- this.toolStripMenuItem2.Name = "toolStripMenuItem2";
- resources.ApplyResources(this.toolStripMenuItem2, "toolStripMenuItem2");
- //
- // addPresetToolStripMenuItem
- //
- this.addPresetToolStripMenuItem.Name = "addPresetToolStripMenuItem";
- resources.ApplyResources(this.addPresetToolStripMenuItem, "addPresetToolStripMenuItem");
- this.addPresetToolStripMenuItem.Click += new System.EventHandler(this.AddPreset);
- //
- // deletePresetToolStripMenuItem
- //
- this.deletePresetToolStripMenuItem.Name = "deletePresetToolStripMenuItem";
- resources.ApplyResources(this.deletePresetToolStripMenuItem, "deletePresetToolStripMenuItem");
- //
- // synchronizeToolStripMenuItem
- //
- this.synchronizeToolStripMenuItem.Name = "synchronizeToolStripMenuItem";
- resources.ApplyResources(this.synchronizeToolStripMenuItem, "synchronizeToolStripMenuItem");
- this.synchronizeToolStripMenuItem.Click += new System.EventHandler(this.buttonStart_Click);
- //
- // searchToolStripMenuItem
- //
- this.searchToolStripMenuItem.Name = "searchToolStripMenuItem";
- resources.ApplyResources(this.searchToolStripMenuItem, "searchToolStripMenuItem");
- this.searchToolStripMenuItem.Click += new System.EventHandler(this.searchToolStripMenuItem_Click);
- //
- // downloadCoversForAllGamesToolStripMenuItem
- //
- this.downloadCoversForAllGamesToolStripMenuItem.Name = "downloadCoversForAllGamesToolStripMenuItem";
- resources.ApplyResources(this.downloadCoversForAllGamesToolStripMenuItem, "downloadCoversForAllGamesToolStripMenuItem");
- this.downloadCoversForAllGamesToolStripMenuItem.Click += new System.EventHandler(this.downloadCoversForAllGamesToolStripMenuItem_Click);
- //
- // toolStripMenuItem1
- //
- this.toolStripMenuItem1.Name = "toolStripMenuItem1";
- resources.ApplyResources(this.toolStripMenuItem1, "toolStripMenuItem1");
- //
- // exitToolStripMenuItem
- //
- this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
- resources.ApplyResources(this.exitToolStripMenuItem, "exitToolStripMenuItem");
- this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
- //
- // kernelToolStripMenuItem
- //
- this.kernelToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.dumpKernelToolStripMenuItem,
- this.flashOriginalKernelToolStripMenuItem,
- this.flashCustomKernelToolStripMenuItem,
- this.uninstallToolStripMenuItem});
- this.kernelToolStripMenuItem.Name = "kernelToolStripMenuItem";
- resources.ApplyResources(this.kernelToolStripMenuItem, "kernelToolStripMenuItem");
- //
- // dumpKernelToolStripMenuItem
- //
- this.dumpKernelToolStripMenuItem.Name = "dumpKernelToolStripMenuItem";
- resources.ApplyResources(this.dumpKernelToolStripMenuItem, "dumpKernelToolStripMenuItem");
- this.dumpKernelToolStripMenuItem.Click += new System.EventHandler(this.dumpKernelToolStripMenuItem_Click);
- //
- // flashOriginalKernelToolStripMenuItem
- //
- this.flashOriginalKernelToolStripMenuItem.Name = "flashOriginalKernelToolStripMenuItem";
- resources.ApplyResources(this.flashOriginalKernelToolStripMenuItem, "flashOriginalKernelToolStripMenuItem");
- this.flashOriginalKernelToolStripMenuItem.Click += new System.EventHandler(this.flashOriginalKernelToolStripMenuItem_Click);
- //
- // flashCustomKernelToolStripMenuItem
- //
- this.flashCustomKernelToolStripMenuItem.Name = "flashCustomKernelToolStripMenuItem";
- resources.ApplyResources(this.flashCustomKernelToolStripMenuItem, "flashCustomKernelToolStripMenuItem");
- this.flashCustomKernelToolStripMenuItem.Click += new System.EventHandler(this.flashCustomKernelToolStripMenuItem_Click);
- //
- // uninstallToolStripMenuItem
- //
- this.uninstallToolStripMenuItem.Name = "uninstallToolStripMenuItem";
- resources.ApplyResources(this.uninstallToolStripMenuItem, "uninstallToolStripMenuItem");
- this.uninstallToolStripMenuItem.Click += new System.EventHandler(this.uninstallToolStripMenuItem_Click);
- //
- // modulesToolStripMenuItem
- //
- this.modulesToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.installModulesToolStripMenuItem,
- this.uninstallModulesToolStripMenuItem});
- this.modulesToolStripMenuItem.Name = "modulesToolStripMenuItem";
- resources.ApplyResources(this.modulesToolStripMenuItem, "modulesToolStripMenuItem");
- //
- // installModulesToolStripMenuItem
- //
- this.installModulesToolStripMenuItem.Name = "installModulesToolStripMenuItem";
- resources.ApplyResources(this.installModulesToolStripMenuItem, "installModulesToolStripMenuItem");
- this.installModulesToolStripMenuItem.Click += new System.EventHandler(this.installModulesToolStripMenuItem_Click);
- //
- // uninstallModulesToolStripMenuItem
- //
- this.uninstallModulesToolStripMenuItem.Name = "uninstallModulesToolStripMenuItem";
- resources.ApplyResources(this.uninstallModulesToolStripMenuItem, "uninstallModulesToolStripMenuItem");
- this.uninstallModulesToolStripMenuItem.Click += new System.EventHandler(this.uninstallModulesToolStripMenuItem_Click);
- //
- // settingsToolStripMenuItem
- //
- this.settingsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.languageToolStripMenuItem,
- this.consoleTypeToolStripMenuItem,
- this.cloverconHackToolStripMenuItem,
- this.useExtendedFontToolStripMenuItem,
- this.epilepsyProtectionToolStripMenuItem,
- this.compressGamesIfPossibleToolStripMenuItem,
- this.pagesfoldersTypeToolStripMenuItem,
- this.globalCommandLineArgumentsexpertsOnluToolStripMenuItem,
- this.toolStripMenuItem5,
- this.saveSettingsToNESMiniNowToolStripMenuItem});
- this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem";
- resources.ApplyResources(this.settingsToolStripMenuItem, "settingsToolStripMenuItem");
- //
- // languageToolStripMenuItem
- //
- resources.ApplyResources(this.languageToolStripMenuItem, "languageToolStripMenuItem");
- this.languageToolStripMenuItem.Name = "languageToolStripMenuItem";
- //
- // consoleTypeToolStripMenuItem
- //
- this.consoleTypeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.nESMiniToolStripMenuItem,
- this.famicomMiniToolStripMenuItem});
- this.consoleTypeToolStripMenuItem.Name = "consoleTypeToolStripMenuItem";
- resources.ApplyResources(this.consoleTypeToolStripMenuItem, "consoleTypeToolStripMenuItem");
- //
- // nESMiniToolStripMenuItem
- //
- this.nESMiniToolStripMenuItem.Checked = true;
- this.nESMiniToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
- this.nESMiniToolStripMenuItem.Name = "nESMiniToolStripMenuItem";
- resources.ApplyResources(this.nESMiniToolStripMenuItem, "nESMiniToolStripMenuItem");
- this.nESMiniToolStripMenuItem.Click += new System.EventHandler(this.nESMiniToolStripMenuItem_Click);
- //
- // famicomMiniToolStripMenuItem
- //
- this.famicomMiniToolStripMenuItem.Name = "famicomMiniToolStripMenuItem";
- resources.ApplyResources(this.famicomMiniToolStripMenuItem, "famicomMiniToolStripMenuItem");
- this.famicomMiniToolStripMenuItem.Click += new System.EventHandler(this.famicomMiniToolStripMenuItem_Click);
- //
- // cloverconHackToolStripMenuItem
- //
- this.cloverconHackToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.resetUsingCombinationOfButtonsToolStripMenuItem,
- this.selectButtonCombinationToolStripMenuItem,
- this.enableAutofireToolStripMenuItem,
- this.useXYOnClassicControllerAsAutofireABToolStripMenuItem,
- this.upABStartOnSecondControllerToolStripMenuItem});
- this.cloverconHackToolStripMenuItem.Name = "cloverconHackToolStripMenuItem";
- resources.ApplyResources(this.cloverconHackToolStripMenuItem, "cloverconHackToolStripMenuItem");
- //
- // resetUsingCombinationOfButtonsToolStripMenuItem
- //
- this.resetUsingCombinationOfButtonsToolStripMenuItem.Checked = true;
- this.resetUsingCombinationOfButtonsToolStripMenuItem.CheckOnClick = true;
- this.resetUsingCombinationOfButtonsToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
- this.resetUsingCombinationOfButtonsToolStripMenuItem.Name = "resetUsingCombinationOfButtonsToolStripMenuItem";
- resources.ApplyResources(this.resetUsingCombinationOfButtonsToolStripMenuItem, "resetUsingCombinationOfButtonsToolStripMenuItem");
- this.resetUsingCombinationOfButtonsToolStripMenuItem.Click += new System.EventHandler(this.cloverconHackToolStripMenuItem_Click);
- //
- // selectButtonCombinationToolStripMenuItem
- //
- this.selectButtonCombinationToolStripMenuItem.Name = "selectButtonCombinationToolStripMenuItem";
- resources.ApplyResources(this.selectButtonCombinationToolStripMenuItem, "selectButtonCombinationToolStripMenuItem");
- this.selectButtonCombinationToolStripMenuItem.Click += new System.EventHandler(this.selectButtonCombinationToolStripMenuItem_Click);
- //
- // enableAutofireToolStripMenuItem
- //
- this.enableAutofireToolStripMenuItem.CheckOnClick = true;
- this.enableAutofireToolStripMenuItem.Name = "enableAutofireToolStripMenuItem";
- resources.ApplyResources(this.enableAutofireToolStripMenuItem, "enableAutofireToolStripMenuItem");
- this.enableAutofireToolStripMenuItem.Click += new System.EventHandler(this.enableAutofireToolStripMenuItem_Click);
- //
- // useXYOnClassicControllerAsAutofireABToolStripMenuItem
- //
- this.useXYOnClassicControllerAsAutofireABToolStripMenuItem.CheckOnClick = true;
- this.useXYOnClassicControllerAsAutofireABToolStripMenuItem.Name = "useXYOnClassicControllerAsAutofireABToolStripMenuItem";
- resources.ApplyResources(this.useXYOnClassicControllerAsAutofireABToolStripMenuItem, "useXYOnClassicControllerAsAutofireABToolStripMenuItem");
- this.useXYOnClassicControllerAsAutofireABToolStripMenuItem.Click += new System.EventHandler(this.useXYOnClassicControllerAsAutofireABToolStripMenuItem_Click);
- //
- // upABStartOnSecondControllerToolStripMenuItem
- //
- this.upABStartOnSecondControllerToolStripMenuItem.CheckOnClick = true;
- this.upABStartOnSecondControllerToolStripMenuItem.Name = "upABStartOnSecondControllerToolStripMenuItem";
- resources.ApplyResources(this.upABStartOnSecondControllerToolStripMenuItem, "upABStartOnSecondControllerToolStripMenuItem");
- this.upABStartOnSecondControllerToolStripMenuItem.Click += new System.EventHandler(this.upABStartOnSecondControllerToolStripMenuItem_Click);
- //
- // useExtendedFontToolStripMenuItem
- //
- this.useExtendedFontToolStripMenuItem.Checked = true;
- this.useExtendedFontToolStripMenuItem.CheckOnClick = true;
- this.useExtendedFontToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
- this.useExtendedFontToolStripMenuItem.Name = "useExtendedFontToolStripMenuItem";
- resources.ApplyResources(this.useExtendedFontToolStripMenuItem, "useExtendedFontToolStripMenuItem");
- this.useExtendedFontToolStripMenuItem.Click += new System.EventHandler(this.useExtendedFontToolStripMenuItem_Click);
- //
- // epilepsyProtectionToolStripMenuItem
- //
- this.epilepsyProtectionToolStripMenuItem.CheckOnClick = true;
- this.epilepsyProtectionToolStripMenuItem.Name = "epilepsyProtectionToolStripMenuItem";
- resources.ApplyResources(this.epilepsyProtectionToolStripMenuItem, "epilepsyProtectionToolStripMenuItem");
- this.epilepsyProtectionToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItemArmet_Click);
- //
- // compressGamesIfPossibleToolStripMenuItem
- //
- this.compressGamesIfPossibleToolStripMenuItem.CheckOnClick = true;
- this.compressGamesIfPossibleToolStripMenuItem.Name = "compressGamesIfPossibleToolStripMenuItem";
- resources.ApplyResources(this.compressGamesIfPossibleToolStripMenuItem, "compressGamesIfPossibleToolStripMenuItem");
- this.compressGamesIfPossibleToolStripMenuItem.Click += new System.EventHandler(this.compressGamesIfPossibleToolStripMenuItem_Click);
- //
- // pagesfoldersTypeToolStripMenuItem
- //
- this.pagesfoldersTypeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.disablePagefoldersToolStripMenuItem,
- this.toolStripMenuItem3,
- this.automaticToolStripMenuItem,
- this.automaticOriginalToolStripMenuItem,
- this.pagesToolStripMenuItem,
- this.pagesOriginalToolStripMenuItem,
- this.foldersToolStripMenuItem,
- this.foldersOriginalToolStripMenuItem,
- this.foldersSplitByFirstLetterToolStripMenuItem,
- this.foldersSplitByFirstLetterOriginalToolStripMenuItem,
- this.maximumGamesPerFolderToolStripMenuItem,
- this.toolStripMenuItem4,
- this.customToolStripMenuItem});
- this.pagesfoldersTypeToolStripMenuItem.Name = "pagesfoldersTypeToolStripMenuItem";
- resources.ApplyResources(this.pagesfoldersTypeToolStripMenuItem, "pagesfoldersTypeToolStripMenuItem");
- //
- // disablePagefoldersToolStripMenuItem
- //
- this.disablePagefoldersToolStripMenuItem.Name = "disablePagefoldersToolStripMenuItem";
- resources.ApplyResources(this.disablePagefoldersToolStripMenuItem, "disablePagefoldersToolStripMenuItem");
- this.disablePagefoldersToolStripMenuItem.Tag = "0";
- this.disablePagefoldersToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
- //
- // toolStripMenuItem3
- //
- this.toolStripMenuItem3.Name = "toolStripMenuItem3";
- resources.ApplyResources(this.toolStripMenuItem3, "toolStripMenuItem3");
- //
- // automaticToolStripMenuItem
- //
- this.automaticToolStripMenuItem.Checked = true;
- this.automaticToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
- this.automaticToolStripMenuItem.Name = "automaticToolStripMenuItem";
- resources.ApplyResources(this.automaticToolStripMenuItem, "automaticToolStripMenuItem");
- this.automaticToolStripMenuItem.Tag = "2";
- this.automaticToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
- //
- // automaticOriginalToolStripMenuItem
- //
- this.automaticOriginalToolStripMenuItem.Name = "automaticOriginalToolStripMenuItem";
- resources.ApplyResources(this.automaticOriginalToolStripMenuItem, "automaticOriginalToolStripMenuItem");
- this.automaticOriginalToolStripMenuItem.Tag = "3";
- this.automaticOriginalToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
- //
- // pagesToolStripMenuItem
- //
- resources.ApplyResources(this.pagesToolStripMenuItem, "pagesToolStripMenuItem");
- this.pagesToolStripMenuItem.Name = "pagesToolStripMenuItem";
- this.pagesToolStripMenuItem.Tag = "4";
- this.pagesToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
- //
- // pagesOriginalToolStripMenuItem
- //
- resources.ApplyResources(this.pagesOriginalToolStripMenuItem, "pagesOriginalToolStripMenuItem");
- this.pagesOriginalToolStripMenuItem.Name = "pagesOriginalToolStripMenuItem";
- this.pagesOriginalToolStripMenuItem.Tag = "5";
- this.pagesOriginalToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
- //
- // foldersToolStripMenuItem
- //
- this.foldersToolStripMenuItem.Name = "foldersToolStripMenuItem";
- resources.ApplyResources(this.foldersToolStripMenuItem, "foldersToolStripMenuItem");
- this.foldersToolStripMenuItem.Tag = "6";
- this.foldersToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
- //
- // foldersOriginalToolStripMenuItem
- //
- this.foldersOriginalToolStripMenuItem.Name = "foldersOriginalToolStripMenuItem";
- resources.ApplyResources(this.foldersOriginalToolStripMenuItem, "foldersOriginalToolStripMenuItem");
- this.foldersOriginalToolStripMenuItem.Tag = "7";
- this.foldersOriginalToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
- //
- // foldersSplitByFirstLetterToolStripMenuItem
- //
- this.foldersSplitByFirstLetterToolStripMenuItem.Name = "foldersSplitByFirstLetterToolStripMenuItem";
- resources.ApplyResources(this.foldersSplitByFirstLetterToolStripMenuItem, "foldersSplitByFirstLetterToolStripMenuItem");
- this.foldersSplitByFirstLetterToolStripMenuItem.Tag = "8";
- this.foldersSplitByFirstLetterToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
- //
- // foldersSplitByFirstLetterOriginalToolStripMenuItem
- //
- this.foldersSplitByFirstLetterOriginalToolStripMenuItem.Name = "foldersSplitByFirstLetterOriginalToolStripMenuItem";
- resources.ApplyResources(this.foldersSplitByFirstLetterOriginalToolStripMenuItem, "foldersSplitByFirstLetterOriginalToolStripMenuItem");
- this.foldersSplitByFirstLetterOriginalToolStripMenuItem.Tag = "9";
- this.foldersSplitByFirstLetterOriginalToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
- //
- // maximumGamesPerFolderToolStripMenuItem
- //
- this.maximumGamesPerFolderToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.max20toolStripMenuItem,
- this.max25toolStripMenuItem,
- this.max30toolStripMenuItem,
- this.max35toolStripMenuItem,
- this.max40toolStripMenuItem,
- this.max45toolStripMenuItem,
- this.max50toolStripMenuItem,
- this.max60toolStripMenuItem,
- this.max70toolStripMenuItem,
- this.max80toolStripMenuItem,
- this.max90toolStripMenuItem,
- this.max100toolStripMenuItem});
- this.maximumGamesPerFolderToolStripMenuItem.Name = "maximumGamesPerFolderToolStripMenuItem";
- resources.ApplyResources(this.maximumGamesPerFolderToolStripMenuItem, "maximumGamesPerFolderToolStripMenuItem");
- //
- // max20toolStripMenuItem
- //
- this.max20toolStripMenuItem.Name = "max20toolStripMenuItem";
- resources.ApplyResources(this.max20toolStripMenuItem, "max20toolStripMenuItem");
- this.max20toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
- //
- // max25toolStripMenuItem
- //
- this.max25toolStripMenuItem.Name = "max25toolStripMenuItem";
- resources.ApplyResources(this.max25toolStripMenuItem, "max25toolStripMenuItem");
- this.max25toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
- //
- // max30toolStripMenuItem
- //
- this.max30toolStripMenuItem.Name = "max30toolStripMenuItem";
- resources.ApplyResources(this.max30toolStripMenuItem, "max30toolStripMenuItem");
- this.max30toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
- //
- // max35toolStripMenuItem
- //
- this.max35toolStripMenuItem.Name = "max35toolStripMenuItem";
- resources.ApplyResources(this.max35toolStripMenuItem, "max35toolStripMenuItem");
- this.max35toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
- //
- // max40toolStripMenuItem
- //
- this.max40toolStripMenuItem.Name = "max40toolStripMenuItem";
- resources.ApplyResources(this.max40toolStripMenuItem, "max40toolStripMenuItem");
- this.max40toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
- //
- // max45toolStripMenuItem
- //
- this.max45toolStripMenuItem.Name = "max45toolStripMenuItem";
- resources.ApplyResources(this.max45toolStripMenuItem, "max45toolStripMenuItem");
- this.max45toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
- //
- // max50toolStripMenuItem
- //
- this.max50toolStripMenuItem.Name = "max50toolStripMenuItem";
- resources.ApplyResources(this.max50toolStripMenuItem, "max50toolStripMenuItem");
- this.max50toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
- //
- // max60toolStripMenuItem
- //
- this.max60toolStripMenuItem.Name = "max60toolStripMenuItem";
- resources.ApplyResources(this.max60toolStripMenuItem, "max60toolStripMenuItem");
- this.max60toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
- //
- // max70toolStripMenuItem
- //
- this.max70toolStripMenuItem.Name = "max70toolStripMenuItem";
- resources.ApplyResources(this.max70toolStripMenuItem, "max70toolStripMenuItem");
- this.max70toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
- //
- // max80toolStripMenuItem
- //
- this.max80toolStripMenuItem.Name = "max80toolStripMenuItem";
- resources.ApplyResources(this.max80toolStripMenuItem, "max80toolStripMenuItem");
- this.max80toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
- //
- // max90toolStripMenuItem
- //
- this.max90toolStripMenuItem.Name = "max90toolStripMenuItem";
- resources.ApplyResources(this.max90toolStripMenuItem, "max90toolStripMenuItem");
- this.max90toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
- //
- // max100toolStripMenuItem
- //
- this.max100toolStripMenuItem.Name = "max100toolStripMenuItem";
- resources.ApplyResources(this.max100toolStripMenuItem, "max100toolStripMenuItem");
- this.max100toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
- //
- // toolStripMenuItem4
- //
- this.toolStripMenuItem4.Name = "toolStripMenuItem4";
- resources.ApplyResources(this.toolStripMenuItem4, "toolStripMenuItem4");
- //
- // customToolStripMenuItem
- //
- this.customToolStripMenuItem.Name = "customToolStripMenuItem";
- resources.ApplyResources(this.customToolStripMenuItem, "customToolStripMenuItem");
- this.customToolStripMenuItem.Tag = "99";
- this.customToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
- //
- // globalCommandLineArgumentsexpertsOnluToolStripMenuItem
- //
- this.globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Name = "globalCommandLineArgumentsexpertsOnluToolStripMenuItem";
- resources.ApplyResources(this.globalCommandLineArgumentsexpertsOnluToolStripMenuItem, "globalCommandLineArgumentsexpertsOnluToolStripMenuItem");
- this.globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Click += new System.EventHandler(this.globalCommandLineArgumentsexpertsOnluToolStripMenuItem_Click);
- //
- // toolStripMenuItem5
- //
- this.toolStripMenuItem5.Name = "toolStripMenuItem5";
- resources.ApplyResources(this.toolStripMenuItem5, "toolStripMenuItem5");
- //
- // saveSettingsToNESMiniNowToolStripMenuItem
- //
- resources.ApplyResources(this.saveSettingsToNESMiniNowToolStripMenuItem, "saveSettingsToNESMiniNowToolStripMenuItem");
- this.saveSettingsToNESMiniNowToolStripMenuItem.Name = "saveSettingsToNESMiniNowToolStripMenuItem";
- this.saveSettingsToNESMiniNowToolStripMenuItem.Click += new System.EventHandler(this.saveSettingsToNESMiniNowToolStripMenuItem_Click);
- //
- // toolsToolStripMenuItem
- //
- this.toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.saveStateManagerToolStripMenuItem,
- this.toolStripMenuItem6,
- this.FTPToolStripMenuItem,
- this.openFTPInExplorerToolStripMenuItem,
- this.toolStripMenuItem7,
- this.shellToolStripMenuItem,
- this.openTelnetToolStripMenuItem,
- this.toolStripMenuItem8,
- this.takeScreenshotToolStripMenuItem});
- this.toolsToolStripMenuItem.Name = "toolsToolStripMenuItem";
- resources.ApplyResources(this.toolsToolStripMenuItem, "toolsToolStripMenuItem");
- //
- // saveStateManagerToolStripMenuItem
- //
- this.saveStateManagerToolStripMenuItem.Name = "saveStateManagerToolStripMenuItem";
- resources.ApplyResources(this.saveStateManagerToolStripMenuItem, "saveStateManagerToolStripMenuItem");
- this.saveStateManagerToolStripMenuItem.Click += new System.EventHandler(this.saveStateManagerToolStripMenuItem_Click);
- //
- // toolStripMenuItem6
- //
- this.toolStripMenuItem6.Name = "toolStripMenuItem6";
- resources.ApplyResources(this.toolStripMenuItem6, "toolStripMenuItem6");
- //
- // FTPToolStripMenuItem
- //
- this.FTPToolStripMenuItem.CheckOnClick = true;
- this.FTPToolStripMenuItem.Name = "FTPToolStripMenuItem";
- resources.ApplyResources(this.FTPToolStripMenuItem, "FTPToolStripMenuItem");
- this.FTPToolStripMenuItem.Click += new System.EventHandler(this.FTPToolStripMenuItem_Click);
- //
- // openFTPInExplorerToolStripMenuItem
- //
- resources.ApplyResources(this.openFTPInExplorerToolStripMenuItem, "openFTPInExplorerToolStripMenuItem");
- this.openFTPInExplorerToolStripMenuItem.Name = "openFTPInExplorerToolStripMenuItem";
- this.openFTPInExplorerToolStripMenuItem.Click += new System.EventHandler(this.openFTPInExplorerToolStripMenuItem_Click);
- //
- // toolStripMenuItem7
- //
- this.toolStripMenuItem7.Name = "toolStripMenuItem7";
- resources.ApplyResources(this.toolStripMenuItem7, "toolStripMenuItem7");
- //
- // shellToolStripMenuItem
- //
- this.shellToolStripMenuItem.CheckOnClick = true;
- this.shellToolStripMenuItem.Name = "shellToolStripMenuItem";
- resources.ApplyResources(this.shellToolStripMenuItem, "shellToolStripMenuItem");
- this.shellToolStripMenuItem.Click += new System.EventHandler(this.shellToolStripMenuItem_Click);
- //
- // openTelnetToolStripMenuItem
- //
- resources.ApplyResources(this.openTelnetToolStripMenuItem, "openTelnetToolStripMenuItem");
- this.openTelnetToolStripMenuItem.Name = "openTelnetToolStripMenuItem";
- this.openTelnetToolStripMenuItem.Click += new System.EventHandler(this.openTelnetToolStripMenuItem_Click);
- //
- // toolStripMenuItem8
- //
- this.toolStripMenuItem8.Name = "toolStripMenuItem8";
- resources.ApplyResources(this.toolStripMenuItem8, "toolStripMenuItem8");
- //
- // takeScreenshotToolStripMenuItem
- //
- this.takeScreenshotToolStripMenuItem.Name = "takeScreenshotToolStripMenuItem";
- resources.ApplyResources(this.takeScreenshotToolStripMenuItem, "takeScreenshotToolStripMenuItem");
- this.takeScreenshotToolStripMenuItem.Click += new System.EventHandler(this.takeScreenshotToolStripMenuItem_Click);
- //
- // helpToolStripMenuItem
- //
- this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.gitHubPageWithActualReleasesToolStripMenuItem,
- this.fAQToolStripMenuItem,
- this.aboutToolStripMenuItem});
- this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
- resources.ApplyResources(this.helpToolStripMenuItem, "helpToolStripMenuItem");
- //
- // gitHubPageWithActualReleasesToolStripMenuItem
- //
- this.gitHubPageWithActualReleasesToolStripMenuItem.Name = "gitHubPageWithActualReleasesToolStripMenuItem";
- resources.ApplyResources(this.gitHubPageWithActualReleasesToolStripMenuItem, "gitHubPageWithActualReleasesToolStripMenuItem");
- this.gitHubPageWithActualReleasesToolStripMenuItem.Click += new System.EventHandler(this.gitHubPageWithActualReleasesToolStripMenuItem_Click);
- //
- // fAQToolStripMenuItem
- //
- this.fAQToolStripMenuItem.Name = "fAQToolStripMenuItem";
- resources.ApplyResources(this.fAQToolStripMenuItem, "fAQToolStripMenuItem");
- this.fAQToolStripMenuItem.Click += new System.EventHandler(this.fAQToolStripMenuItem_Click);
- //
- // aboutToolStripMenuItem
- //
- this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
- resources.ApplyResources(this.aboutToolStripMenuItem, "aboutToolStripMenuItem");
- this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click);
- //
- // checkedListBoxGames
- //
- resources.ApplyResources(this.checkedListBoxGames, "checkedListBoxGames");
- this.checkedListBoxGames.FormattingEnabled = true;
- this.checkedListBoxGames.Name = "checkedListBoxGames";
- this.checkedListBoxGames.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.checkedListBoxGames_ItemCheck);
- this.checkedListBoxGames.SelectedIndexChanged += new System.EventHandler(this.checkedListBoxGames_SelectedIndexChanged);
- this.checkedListBoxGames.KeyDown += new System.Windows.Forms.KeyEventHandler(this.checkedListBoxGames_KeyDown);
- this.checkedListBoxGames.MouseDown += new System.Windows.Forms.MouseEventHandler(this.checkedListBoxGames_MouseDown);
- //
- // groupBoxOptions
- //
- resources.ApplyResources(this.groupBoxOptions, "groupBoxOptions");
- this.groupBoxOptions.Controls.Add(this.buttonShowGameGenieDatabase);
- this.groupBoxOptions.Controls.Add(this.maskedTextBoxReleaseDate);
- this.groupBoxOptions.Controls.Add(this.label1);
- this.groupBoxOptions.Controls.Add(this.textBoxGameGenie);
- this.groupBoxOptions.Controls.Add(this.label7);
- this.groupBoxOptions.Controls.Add(this.label6);
- this.groupBoxOptions.Controls.Add(this.radioButtonTwoSim);
- this.groupBoxOptions.Controls.Add(this.buttonGoogle);
- this.groupBoxOptions.Controls.Add(this.buttonBrowseImage);
- this.groupBoxOptions.Controls.Add(this.pictureBoxArt);
- this.groupBoxOptions.Controls.Add(this.label4);
- this.groupBoxOptions.Controls.Add(this.textBoxArguments);
- this.groupBoxOptions.Controls.Add(this.label3);
- this.groupBoxOptions.Controls.Add(this.textBoxPublisher);
- this.groupBoxOptions.Controls.Add(this.label2);
- this.groupBoxOptions.Controls.Add(this.radioButtonTwo);
- this.groupBoxOptions.Controls.Add(this.radioButtonOne);
- this.groupBoxOptions.Controls.Add(this.textBoxName);
- this.groupBoxOptions.Controls.Add(this.labelName);
- this.groupBoxOptions.Controls.Add(this.labelID);
- this.groupBoxOptions.Name = "groupBoxOptions";
- this.groupBoxOptions.TabStop = false;
- //
- // buttonShowGameGenieDatabase
- //
- resources.ApplyResources(this.buttonShowGameGenieDatabase, "buttonShowGameGenieDatabase");
- this.buttonShowGameGenieDatabase.Name = "buttonShowGameGenieDatabase";
- this.buttonShowGameGenieDatabase.UseVisualStyleBackColor = true;
- this.buttonShowGameGenieDatabase.Click += new System.EventHandler(this.buttonShowGameGenieDatabase_Click);
- //
- // maskedTextBoxReleaseDate
- //
- resources.ApplyResources(this.maskedTextBoxReleaseDate, "maskedTextBoxReleaseDate");
- this.maskedTextBoxReleaseDate.Name = "maskedTextBoxReleaseDate";
- this.maskedTextBoxReleaseDate.TextChanged += new System.EventHandler(this.maskedTextBoxReleaseDate_TextChanged);
- //
- // label1
- //
- resources.ApplyResources(this.label1, "label1");
- this.label1.Name = "label1";
- //
- // textBoxGameGenie
- //
- resources.ApplyResources(this.textBoxGameGenie, "textBoxGameGenie");
- this.textBoxGameGenie.Name = "textBoxGameGenie";
- this.textBoxGameGenie.TextChanged += new System.EventHandler(this.textBoxGameGenie_TextChanged);
- //
- // label7
- //
- resources.ApplyResources(this.label7, "label7");
- this.label7.Name = "label7";
- //
- // label6
- //
- resources.ApplyResources(this.label6, "label6");
- this.label6.Name = "label6";
- //
- // radioButtonTwoSim
- //
- resources.ApplyResources(this.radioButtonTwoSim, "radioButtonTwoSim");
- this.radioButtonTwoSim.Name = "radioButtonTwoSim";
- this.radioButtonTwoSim.UseVisualStyleBackColor = true;
- this.radioButtonTwoSim.CheckedChanged += new System.EventHandler(this.radioButtonOne_CheckedChanged);
- //
- // buttonGoogle
- //
- resources.ApplyResources(this.buttonGoogle, "buttonGoogle");
- this.buttonGoogle.Name = "buttonGoogle";
- this.buttonGoogle.UseVisualStyleBackColor = true;
- this.buttonGoogle.Click += new System.EventHandler(this.buttonGoogle_Click);
- //
- // buttonBrowseImage
- //
- resources.ApplyResources(this.buttonBrowseImage, "buttonBrowseImage");
- this.buttonBrowseImage.Name = "buttonBrowseImage";
- this.buttonBrowseImage.UseVisualStyleBackColor = true;
- this.buttonBrowseImage.Click += new System.EventHandler(this.buttonBrowseImage_Click);
- //
- // pictureBoxArt
- //
- resources.ApplyResources(this.pictureBoxArt, "pictureBoxArt");
- this.pictureBoxArt.Name = "pictureBoxArt";
- this.pictureBoxArt.TabStop = false;
- //
- // label4
- //
- resources.ApplyResources(this.label4, "label4");
- this.label4.Name = "label4";
- //
- // textBoxArguments
- //
- resources.ApplyResources(this.textBoxArguments, "textBoxArguments");
- this.textBoxArguments.Name = "textBoxArguments";
- this.textBoxArguments.TextChanged += new System.EventHandler(this.textBoxArguments_TextChanged);
- //
- // label3
- //
- resources.ApplyResources(this.label3, "label3");
- this.label3.Name = "label3";
- //
- // textBoxPublisher
- //
- resources.ApplyResources(this.textBoxPublisher, "textBoxPublisher");
- this.textBoxPublisher.Name = "textBoxPublisher";
- this.textBoxPublisher.TextChanged += new System.EventHandler(this.textBoxPublisher_TextChanged);
- //
- // label2
- //
- resources.ApplyResources(this.label2, "label2");
- this.label2.Name = "label2";
- //
- // radioButtonTwo
- //
- resources.ApplyResources(this.radioButtonTwo, "radioButtonTwo");
- this.radioButtonTwo.Name = "radioButtonTwo";
- this.radioButtonTwo.UseVisualStyleBackColor = true;
- this.radioButtonTwo.CheckedChanged += new System.EventHandler(this.radioButtonOne_CheckedChanged);
- //
- // radioButtonOne
- //
- resources.ApplyResources(this.radioButtonOne, "radioButtonOne");
- this.radioButtonOne.Checked = true;
- this.radioButtonOne.Name = "radioButtonOne";
- this.radioButtonOne.TabStop = true;
- this.radioButtonOne.UseVisualStyleBackColor = true;
- this.radioButtonOne.CheckedChanged += new System.EventHandler(this.radioButtonOne_CheckedChanged);
- //
- // textBoxName
- //
- resources.ApplyResources(this.textBoxName, "textBoxName");
- this.textBoxName.Name = "textBoxName";
- this.textBoxName.TextChanged += new System.EventHandler(this.textBoxName_TextChanged);
- //
- // labelName
- //
- resources.ApplyResources(this.labelName, "labelName");
- this.labelName.Name = "labelName";
- //
- // labelID
- //
- resources.ApplyResources(this.labelID, "labelID");
- this.labelID.Name = "labelID";
- //
- // label5
- //
- resources.ApplyResources(this.label5, "label5");
- this.label5.Name = "label5";
- //
- // buttonAddGames
- //
- resources.ApplyResources(this.buttonAddGames, "buttonAddGames");
- this.buttonAddGames.Name = "buttonAddGames";
- this.buttonAddGames.UseVisualStyleBackColor = true;
- this.buttonAddGames.Click += new System.EventHandler(this.buttonAddGames_Click);
- //
- // statusStrip
- //
- this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.toolStripStatusConnectionIcon,
- this.toolStripStatusLabelSelected,
- this.toolStripStatusLabelSize,
- this.toolStripProgressBar});
- resources.ApplyResources(this.statusStrip, "statusStrip");
- this.statusStrip.Name = "statusStrip";
- this.statusStrip.SizingGrip = false;
- //
- // toolStripStatusConnectionIcon
- //
- resources.ApplyResources(this.toolStripStatusConnectionIcon, "toolStripStatusConnectionIcon");
- this.toolStripStatusConnectionIcon.Image = global::com.clusterrr.hakchi_gui.Properties.Resources.red;
- this.toolStripStatusConnectionIcon.Margin = new System.Windows.Forms.Padding(2, 3, 2, 2);
- this.toolStripStatusConnectionIcon.Name = "toolStripStatusConnectionIcon";
- //
- // toolStripStatusLabelSelected
- //
- resources.ApplyResources(this.toolStripStatusLabelSelected, "toolStripStatusLabelSelected");
- this.toolStripStatusLabelSelected.BorderSides = ((System.Windows.Forms.ToolStripStatusLabelBorderSides)((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left | System.Windows.Forms.ToolStripStatusLabelBorderSides.Top)
- | System.Windows.Forms.ToolStripStatusLabelBorderSides.Right)
- | System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom)));
- this.toolStripStatusLabelSelected.Name = "toolStripStatusLabelSelected";
- //
- // toolStripStatusLabelSize
- //
- resources.ApplyResources(this.toolStripStatusLabelSize, "toolStripStatusLabelSize");
- this.toolStripStatusLabelSize.BorderSides = ((System.Windows.Forms.ToolStripStatusLabelBorderSides)((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left | System.Windows.Forms.ToolStripStatusLabelBorderSides.Top)
- | System.Windows.Forms.ToolStripStatusLabelBorderSides.Right)
- | System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom)));
- this.toolStripStatusLabelSize.Name = "toolStripStatusLabelSize";
- //
- // toolStripProgressBar
- //
- this.toolStripProgressBar.ForeColor = System.Drawing.SystemColors.ControlText;
- this.toolStripProgressBar.Name = "toolStripProgressBar";
- resources.ApplyResources(this.toolStripProgressBar, "toolStripProgressBar");
- this.toolStripProgressBar.Style = System.Windows.Forms.ProgressBarStyle.Continuous;
- //
- // openFileDialogNes
- //
- this.openFileDialogNes.DefaultExt = "nes";
- this.openFileDialogNes.Multiselect = true;
- resources.ApplyResources(this.openFileDialogNes, "openFileDialogNes");
- //
- // contextMenuStrip
- //
- this.contextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.selectAllToolStripMenuItem,
- this.unselectAllToolStripMenuItem,
- this.deleteGameToolStripMenuItem});
- this.contextMenuStrip.Name = "contextMenuStrip";
- resources.ApplyResources(this.contextMenuStrip, "contextMenuStrip");
- //
- // selectAllToolStripMenuItem
- //
- this.selectAllToolStripMenuItem.Name = "selectAllToolStripMenuItem";
- resources.ApplyResources(this.selectAllToolStripMenuItem, "selectAllToolStripMenuItem");
- this.selectAllToolStripMenuItem.Click += new System.EventHandler(this.selectAllToolStripMenuItem_Click);
- //
- // unselectAllToolStripMenuItem
- //
- this.unselectAllToolStripMenuItem.Name = "unselectAllToolStripMenuItem";
- resources.ApplyResources(this.unselectAllToolStripMenuItem, "unselectAllToolStripMenuItem");
- this.unselectAllToolStripMenuItem.Click += new System.EventHandler(this.unselectAllToolStripMenuItem_Click);
- //
- // deleteGameToolStripMenuItem
- //
- this.deleteGameToolStripMenuItem.Name = "deleteGameToolStripMenuItem";
- resources.ApplyResources(this.deleteGameToolStripMenuItem, "deleteGameToolStripMenuItem");
- this.deleteGameToolStripMenuItem.Click += new System.EventHandler(this.deleteGameToolStripMenuItem_Click);
- //
- // openFileDialogImage
- //
- resources.ApplyResources(this.openFileDialogImage, "openFileDialogImage");
- //
- // buttonStart
- //
- resources.ApplyResources(this.buttonStart, "buttonStart");
- this.buttonStart.Name = "buttonStart";
- this.buttonStart.UseVisualStyleBackColor = true;
- this.buttonStart.Click += new System.EventHandler(this.buttonStart_Click);
- //
- // groupBoxDefaultGames
- //
- resources.ApplyResources(this.groupBoxDefaultGames, "groupBoxDefaultGames");
- this.groupBoxDefaultGames.Controls.Add(this.checkedListBoxDefaultGames);
- this.groupBoxDefaultGames.Name = "groupBoxDefaultGames";
- this.groupBoxDefaultGames.TabStop = false;
- //
- // checkedListBoxDefaultGames
- //
- resources.ApplyResources(this.checkedListBoxDefaultGames, "checkedListBoxDefaultGames");
- this.checkedListBoxDefaultGames.FormattingEnabled = true;
- this.checkedListBoxDefaultGames.Name = "checkedListBoxDefaultGames";
- this.checkedListBoxDefaultGames.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.checkedListBoxDefaultGames_ItemCheck);
- this.checkedListBoxDefaultGames.MouseDown += new System.Windows.Forms.MouseEventHandler(this.checkedListBoxDefaultGames_MouseDown);
- //
- // timerCalculateGames
- //
- this.timerCalculateGames.Enabled = true;
- this.timerCalculateGames.Interval = 500;
- this.timerCalculateGames.Tick += new System.EventHandler(this.timerCalculateGames_Tick);
- //
- // timerConnectionCheck
- //
- this.timerConnectionCheck.Enabled = true;
- this.timerConnectionCheck.Interval = 500;
- this.timerConnectionCheck.Tick += new System.EventHandler(this.timerConnectionCheck_Tick);
- //
- // MainForm
- //
- this.AllowDrop = true;
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.Controls.Add(this.buttonStart);
- this.Controls.Add(this.statusStrip);
- this.Controls.Add(this.buttonAddGames);
- this.Controls.Add(this.label5);
- this.Controls.Add(this.checkedListBoxGames);
- this.Controls.Add(this.menuStrip);
- this.Controls.Add(this.groupBoxOptions);
- this.Controls.Add(this.groupBoxDefaultGames);
- this.Cursor = System.Windows.Forms.Cursors.Default;
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
- this.KeyPreview = true;
- this.MaximizeBox = false;
- this.Name = "MainForm";
- this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing);
- this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainForm_FormClosed);
- this.Shown += new System.EventHandler(this.MainForm_Shown);
- this.DragDrop += new System.Windows.Forms.DragEventHandler(this.checkedListBoxGames_DragDrop);
- this.DragEnter += new System.Windows.Forms.DragEventHandler(this.checkedListBoxGames_DragEnter);
- this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyDown);
- this.menuStrip.ResumeLayout(false);
- this.menuStrip.PerformLayout();
- this.groupBoxOptions.ResumeLayout(false);
- this.groupBoxOptions.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBoxArt)).EndInit();
- this.statusStrip.ResumeLayout(false);
- this.statusStrip.PerformLayout();
- this.contextMenuStrip.ResumeLayout(false);
- this.groupBoxDefaultGames.ResumeLayout(false);
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private System.Windows.Forms.MenuStrip menuStrip;
- private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem addMoreGamesToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
- private System.Windows.Forms.GroupBox groupBoxOptions;
- private System.Windows.Forms.RadioButton radioButtonTwo;
- private System.Windows.Forms.RadioButton radioButtonOne;
- private System.Windows.Forms.TextBox textBoxName;
- private System.Windows.Forms.Label labelName;
- private System.Windows.Forms.Label labelID;
- private System.Windows.Forms.TextBox textBoxPublisher;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.MaskedTextBox maskedTextBoxReleaseDate;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.TextBox textBoxArguments;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.PictureBox pictureBoxArt;
- private System.Windows.Forms.Label label4;
- private System.Windows.Forms.Button buttonGoogle;
- private System.Windows.Forms.Button buttonBrowseImage;
- private System.Windows.Forms.Label label5;
- private System.Windows.Forms.Button buttonAddGames;
- private System.Windows.Forms.StatusStrip statusStrip;
- private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelSelected;
- private System.Windows.Forms.OpenFileDialog openFileDialogNes;
- private System.Windows.Forms.ContextMenuStrip contextMenuStrip;
- private System.Windows.Forms.ToolStripMenuItem deleteGameToolStripMenuItem;
- private System.Windows.Forms.OpenFileDialog openFileDialogImage;
- private System.Windows.Forms.Button buttonStart;
- private System.Windows.Forms.ToolStripMenuItem kernelToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem dumpKernelToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem flashCustomKernelToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem flashOriginalKernelToolStripMenuItem;
- private System.Windows.Forms.RadioButton radioButtonTwoSim;
- private System.Windows.Forms.Label label6;
- private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem;
- private System.Windows.Forms.GroupBox groupBoxDefaultGames;
- private System.Windows.Forms.Timer timerCalculateGames;
- private System.Windows.Forms.ToolStripMenuItem selectAllToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem unselectAllToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem uninstallToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem fAQToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem gitHubPageWithActualReleasesToolStripMenuItem;
- private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1;
- private System.Windows.Forms.ToolStripMenuItem presetsToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem addPresetToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem deletePresetToolStripMenuItem;
- private System.Windows.Forms.ToolStripSeparator toolStripMenuItem2;
- protected internal System.Windows.Forms.CheckedListBox checkedListBoxGames;
- private System.Windows.Forms.ToolStripMenuItem searchToolStripMenuItem;
- private System.Windows.Forms.TextBox textBoxGameGenie;
- private System.Windows.Forms.Label label7;
- private System.Windows.Forms.ToolStripMenuItem epilepsyProtectionToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem cloverconHackToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem resetUsingCombinationOfButtonsToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem selectButtonCombinationToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem consoleTypeToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem nESMiniToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem famicomMiniToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem enableAutofireToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem globalCommandLineArgumentsexpertsOnluToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem upABStartOnSecondControllerToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem downloadCoversForAllGamesToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem pagesfoldersTypeToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem pagesToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem disablePagefoldersToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem foldersToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem automaticOriginalToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem foldersSplitByFirstLetterToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem customToolStripMenuItem;
- private System.Windows.Forms.Button buttonShowGameGenieDatabase;
- private System.Windows.Forms.ToolStripSeparator toolStripMenuItem3;
- private System.Windows.Forms.ToolStripMenuItem pagesOriginalToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem foldersOriginalToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem foldersSplitByFirstLetterOriginalToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem maximumGamesPerFolderToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem max20toolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem max25toolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem max30toolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem max35toolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem max40toolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem max45toolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem max50toolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem max60toolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem max70toolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem max80toolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem max90toolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem max100toolStripMenuItem;
- private System.Windows.Forms.ToolStripSeparator toolStripMenuItem4;
- private System.Windows.Forms.ToolStripMenuItem automaticToolStripMenuItem;
- protected internal System.Windows.Forms.CheckedListBox checkedListBoxDefaultGames;
- private System.Windows.Forms.ToolStripMenuItem useExtendedFontToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem modulesToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem installModulesToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem uninstallModulesToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem synchronizeToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem useXYOnClassicControllerAsAutofireABToolStripMenuItem;
- private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelSize;
- private System.Windows.Forms.ToolStripProgressBar toolStripProgressBar;
- private System.Windows.Forms.ToolStripStatusLabel toolStripStatusConnectionIcon;
- private System.Windows.Forms.Timer timerConnectionCheck;
- private System.Windows.Forms.ToolStripSeparator toolStripMenuItem5;
- private System.Windows.Forms.ToolStripMenuItem saveSettingsToNESMiniNowToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem compressGamesIfPossibleToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem toolsToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem saveStateManagerToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem FTPToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem shellToolStripMenuItem;
- private System.Windows.Forms.ToolStripSeparator toolStripMenuItem6;
- private System.Windows.Forms.ToolStripMenuItem openFTPInExplorerToolStripMenuItem;
- private System.Windows.Forms.ToolStripSeparator toolStripMenuItem7;
- private System.Windows.Forms.ToolStripMenuItem openTelnetToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem languageToolStripMenuItem;
- private System.Windows.Forms.ToolStripSeparator toolStripMenuItem8;
- private System.Windows.Forms.ToolStripMenuItem takeScreenshotToolStripMenuItem;
- }
-}
-
+namespace com.clusterrr.hakchi_gui
+{
+ partial class MainForm
+ {
+ /// <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()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
+ this.menuStrip = new System.Windows.Forms.MenuStrip();
+ this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.addMoreGamesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.presetsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator();
+ this.addPresetToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.deletePresetToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.synchronizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.searchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.downloadCoversForAllGamesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
+ this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.kernelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.dumpKernelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.flashOriginalKernelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.flashCustomKernelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.uninstallToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.modulesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.installModulesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.uninstallModulesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.languageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.consoleTypeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.nESMiniToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.famicomMiniToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.cloverconHackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.resetUsingCombinationOfButtonsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.selectButtonCombinationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.enableAutofireToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.useXYOnClassicControllerAsAutofireABToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.upABStartOnSecondControllerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.useExtendedFontToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.epilepsyProtectionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.compressGamesIfPossibleToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.pagesfoldersTypeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.disablePagefoldersToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripSeparator();
+ this.automaticToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.automaticOriginalToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.pagesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.pagesOriginalToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.foldersToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.foldersOriginalToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.foldersSplitByFirstLetterToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.foldersSplitByFirstLetterOriginalToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.maximumGamesPerFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.max20toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.max25toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.max30toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.max35toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.max40toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.max45toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.max50toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.max60toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.max70toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.max80toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.max90toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.max100toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripSeparator();
+ this.customToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.globalCommandLineArgumentsexpertsOnluToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripMenuItem5 = new System.Windows.Forms.ToolStripSeparator();
+ this.saveSettingsToNESMiniNowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.saveStateManagerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripMenuItem6 = new System.Windows.Forms.ToolStripSeparator();
+ this.FTPToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.openFTPInExplorerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripMenuItem7 = new System.Windows.Forms.ToolStripSeparator();
+ this.shellToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.openTelnetToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripMenuItem8 = new System.Windows.Forms.ToolStripSeparator();
+ this.takeScreenshotToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.gitHubPageWithActualReleasesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.fAQToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.checkedListBoxGames = new System.Windows.Forms.CheckedListBox();
+ this.groupBoxOptions = new System.Windows.Forms.GroupBox();
+ this.buttonShowGameGenieDatabase = new System.Windows.Forms.Button();
+ this.maskedTextBoxReleaseDate = new System.Windows.Forms.MaskedTextBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.textBoxGameGenie = new System.Windows.Forms.TextBox();
+ this.label7 = new System.Windows.Forms.Label();
+ this.label6 = new System.Windows.Forms.Label();
+ this.radioButtonTwoSim = new System.Windows.Forms.RadioButton();
+ this.buttonGoogle = new System.Windows.Forms.Button();
+ this.buttonBrowseImage = new System.Windows.Forms.Button();
+ this.pictureBoxArt = new System.Windows.Forms.PictureBox();
+ this.label4 = new System.Windows.Forms.Label();
+ this.textBoxArguments = new System.Windows.Forms.TextBox();
+ this.label3 = new System.Windows.Forms.Label();
+ this.textBoxPublisher = new System.Windows.Forms.TextBox();
+ this.label2 = new System.Windows.Forms.Label();
+ this.radioButtonTwo = new System.Windows.Forms.RadioButton();
+ this.radioButtonOne = new System.Windows.Forms.RadioButton();
+ this.textBoxName = new System.Windows.Forms.TextBox();
+ this.labelName = new System.Windows.Forms.Label();
+ this.labelID = new System.Windows.Forms.Label();
+ this.label5 = new System.Windows.Forms.Label();
+ this.buttonAddGames = new System.Windows.Forms.Button();
+ this.statusStrip = new System.Windows.Forms.StatusStrip();
+ this.toolStripStatusConnectionIcon = new System.Windows.Forms.ToolStripStatusLabel();
+ this.toolStripStatusLabelSelected = new System.Windows.Forms.ToolStripStatusLabel();
+ this.toolStripStatusLabelSize = new System.Windows.Forms.ToolStripStatusLabel();
+ this.toolStripProgressBar = new System.Windows.Forms.ToolStripProgressBar();
+ this.openFileDialogNes = new System.Windows.Forms.OpenFileDialog();
+ this.contextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
+ this.selectAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.unselectAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.deleteGameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.openFileDialogImage = new System.Windows.Forms.OpenFileDialog();
+ this.buttonStart = new System.Windows.Forms.Button();
+ this.timerCalculateGames = new System.Windows.Forms.Timer(this.components);
+ this.timerConnectionCheck = new System.Windows.Forms.Timer(this.components);
+ this.menuStrip.SuspendLayout();
+ this.groupBoxOptions.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBoxArt)).BeginInit();
+ this.statusStrip.SuspendLayout();
+ this.contextMenuStrip.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // menuStrip
+ //
+ this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.fileToolStripMenuItem,
+ this.kernelToolStripMenuItem,
+ this.modulesToolStripMenuItem,
+ this.settingsToolStripMenuItem,
+ this.toolsToolStripMenuItem,
+ this.helpToolStripMenuItem});
+ resources.ApplyResources(this.menuStrip, "menuStrip");
+ this.menuStrip.Name = "menuStrip";
+ //
+ // fileToolStripMenuItem
+ //
+ this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.addMoreGamesToolStripMenuItem,
+ this.presetsToolStripMenuItem,
+ this.synchronizeToolStripMenuItem,
+ this.searchToolStripMenuItem,
+ this.downloadCoversForAllGamesToolStripMenuItem,
+ this.toolStripMenuItem1,
+ this.exitToolStripMenuItem});
+ this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
+ resources.ApplyResources(this.fileToolStripMenuItem, "fileToolStripMenuItem");
+ //
+ // addMoreGamesToolStripMenuItem
+ //
+ this.addMoreGamesToolStripMenuItem.Name = "addMoreGamesToolStripMenuItem";
+ resources.ApplyResources(this.addMoreGamesToolStripMenuItem, "addMoreGamesToolStripMenuItem");
+ this.addMoreGamesToolStripMenuItem.Click += new System.EventHandler(this.buttonAddGames_Click);
+ //
+ // presetsToolStripMenuItem
+ //
+ this.presetsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.toolStripMenuItem2,
+ this.addPresetToolStripMenuItem,
+ this.deletePresetToolStripMenuItem});
+ this.presetsToolStripMenuItem.Name = "presetsToolStripMenuItem";
+ resources.ApplyResources(this.presetsToolStripMenuItem, "presetsToolStripMenuItem");
+ //
+ // toolStripMenuItem2
+ //
+ this.toolStripMenuItem2.Name = "toolStripMenuItem2";
+ resources.ApplyResources(this.toolStripMenuItem2, "toolStripMenuItem2");
+ //
+ // addPresetToolStripMenuItem
+ //
+ this.addPresetToolStripMenuItem.Name = "addPresetToolStripMenuItem";
+ resources.ApplyResources(this.addPresetToolStripMenuItem, "addPresetToolStripMenuItem");
+ this.addPresetToolStripMenuItem.Click += new System.EventHandler(this.AddPreset);
+ //
+ // deletePresetToolStripMenuItem
+ //
+ this.deletePresetToolStripMenuItem.Name = "deletePresetToolStripMenuItem";
+ resources.ApplyResources(this.deletePresetToolStripMenuItem, "deletePresetToolStripMenuItem");
+ //
+ // synchronizeToolStripMenuItem
+ //
+ this.synchronizeToolStripMenuItem.Name = "synchronizeToolStripMenuItem";
+ resources.ApplyResources(this.synchronizeToolStripMenuItem, "synchronizeToolStripMenuItem");
+ this.synchronizeToolStripMenuItem.Click += new System.EventHandler(this.buttonStart_Click);
+ //
+ // searchToolStripMenuItem
+ //
+ this.searchToolStripMenuItem.Name = "searchToolStripMenuItem";
+ resources.ApplyResources(this.searchToolStripMenuItem, "searchToolStripMenuItem");
+ this.searchToolStripMenuItem.Click += new System.EventHandler(this.searchToolStripMenuItem_Click);
+ //
+ // downloadCoversForAllGamesToolStripMenuItem
+ //
+ this.downloadCoversForAllGamesToolStripMenuItem.Name = "downloadCoversForAllGamesToolStripMenuItem";
+ resources.ApplyResources(this.downloadCoversForAllGamesToolStripMenuItem, "downloadCoversForAllGamesToolStripMenuItem");
+ this.downloadCoversForAllGamesToolStripMenuItem.Click += new System.EventHandler(this.downloadCoversForAllGamesToolStripMenuItem_Click);
+ //
+ // toolStripMenuItem1
+ //
+ this.toolStripMenuItem1.Name = "toolStripMenuItem1";
+ resources.ApplyResources(this.toolStripMenuItem1, "toolStripMenuItem1");
+ //
+ // exitToolStripMenuItem
+ //
+ this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
+ resources.ApplyResources(this.exitToolStripMenuItem, "exitToolStripMenuItem");
+ this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
+ //
+ // kernelToolStripMenuItem
+ //
+ this.kernelToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.dumpKernelToolStripMenuItem,
+ this.flashOriginalKernelToolStripMenuItem,
+ this.flashCustomKernelToolStripMenuItem,
+ this.uninstallToolStripMenuItem});
+ this.kernelToolStripMenuItem.Name = "kernelToolStripMenuItem";
+ resources.ApplyResources(this.kernelToolStripMenuItem, "kernelToolStripMenuItem");
+ //
+ // dumpKernelToolStripMenuItem
+ //
+ this.dumpKernelToolStripMenuItem.Name = "dumpKernelToolStripMenuItem";
+ resources.ApplyResources(this.dumpKernelToolStripMenuItem, "dumpKernelToolStripMenuItem");
+ this.dumpKernelToolStripMenuItem.Click += new System.EventHandler(this.dumpKernelToolStripMenuItem_Click);
+ //
+ // flashOriginalKernelToolStripMenuItem
+ //
+ this.flashOriginalKernelToolStripMenuItem.Name = "flashOriginalKernelToolStripMenuItem";
+ resources.ApplyResources(this.flashOriginalKernelToolStripMenuItem, "flashOriginalKernelToolStripMenuItem");
+ this.flashOriginalKernelToolStripMenuItem.Click += new System.EventHandler(this.flashOriginalKernelToolStripMenuItem_Click);
+ //
+ // flashCustomKernelToolStripMenuItem
+ //
+ this.flashCustomKernelToolStripMenuItem.Name = "flashCustomKernelToolStripMenuItem";
+ resources.ApplyResources(this.flashCustomKernelToolStripMenuItem, "flashCustomKernelToolStripMenuItem");
+ this.flashCustomKernelToolStripMenuItem.Click += new System.EventHandler(this.flashCustomKernelToolStripMenuItem_Click);
+ //
+ // uninstallToolStripMenuItem
+ //
+ this.uninstallToolStripMenuItem.Name = "uninstallToolStripMenuItem";
+ resources.ApplyResources(this.uninstallToolStripMenuItem, "uninstallToolStripMenuItem");
+ this.uninstallToolStripMenuItem.Click += new System.EventHandler(this.uninstallToolStripMenuItem_Click);
+ //
+ // modulesToolStripMenuItem
+ //
+ this.modulesToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.installModulesToolStripMenuItem,
+ this.uninstallModulesToolStripMenuItem});
+ this.modulesToolStripMenuItem.Name = "modulesToolStripMenuItem";
+ resources.ApplyResources(this.modulesToolStripMenuItem, "modulesToolStripMenuItem");
+ //
+ // installModulesToolStripMenuItem
+ //
+ this.installModulesToolStripMenuItem.Name = "installModulesToolStripMenuItem";
+ resources.ApplyResources(this.installModulesToolStripMenuItem, "installModulesToolStripMenuItem");
+ this.installModulesToolStripMenuItem.Click += new System.EventHandler(this.installModulesToolStripMenuItem_Click);
+ //
+ // uninstallModulesToolStripMenuItem
+ //
+ this.uninstallModulesToolStripMenuItem.Name = "uninstallModulesToolStripMenuItem";
+ resources.ApplyResources(this.uninstallModulesToolStripMenuItem, "uninstallModulesToolStripMenuItem");
+ this.uninstallModulesToolStripMenuItem.Click += new System.EventHandler(this.uninstallModulesToolStripMenuItem_Click);
+ //
+ // settingsToolStripMenuItem
+ //
+ this.settingsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.languageToolStripMenuItem,
+ this.consoleTypeToolStripMenuItem,
+ this.cloverconHackToolStripMenuItem,
+ this.useExtendedFontToolStripMenuItem,
+ this.epilepsyProtectionToolStripMenuItem,
+ this.compressGamesIfPossibleToolStripMenuItem,
+ this.pagesfoldersTypeToolStripMenuItem,
+ this.globalCommandLineArgumentsexpertsOnluToolStripMenuItem,
+ this.toolStripMenuItem5,
+ this.saveSettingsToNESMiniNowToolStripMenuItem});
+ this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem";
+ resources.ApplyResources(this.settingsToolStripMenuItem, "settingsToolStripMenuItem");
+ //
+ // languageToolStripMenuItem
+ //
+ resources.ApplyResources(this.languageToolStripMenuItem, "languageToolStripMenuItem");
+ this.languageToolStripMenuItem.Name = "languageToolStripMenuItem";
+ //
+ // consoleTypeToolStripMenuItem
+ //
+ this.consoleTypeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.nESMiniToolStripMenuItem,
+ this.famicomMiniToolStripMenuItem});
+ this.consoleTypeToolStripMenuItem.Name = "consoleTypeToolStripMenuItem";
+ resources.ApplyResources(this.consoleTypeToolStripMenuItem, "consoleTypeToolStripMenuItem");
+ //
+ // nESMiniToolStripMenuItem
+ //
+ this.nESMiniToolStripMenuItem.Checked = true;
+ this.nESMiniToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.nESMiniToolStripMenuItem.Name = "nESMiniToolStripMenuItem";
+ resources.ApplyResources(this.nESMiniToolStripMenuItem, "nESMiniToolStripMenuItem");
+ this.nESMiniToolStripMenuItem.Click += new System.EventHandler(this.nESMiniToolStripMenuItem_Click);
+ //
+ // famicomMiniToolStripMenuItem
+ //
+ this.famicomMiniToolStripMenuItem.Name = "famicomMiniToolStripMenuItem";
+ resources.ApplyResources(this.famicomMiniToolStripMenuItem, "famicomMiniToolStripMenuItem");
+ this.famicomMiniToolStripMenuItem.Click += new System.EventHandler(this.famicomMiniToolStripMenuItem_Click);
+ //
+ // cloverconHackToolStripMenuItem
+ //
+ this.cloverconHackToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.resetUsingCombinationOfButtonsToolStripMenuItem,
+ this.selectButtonCombinationToolStripMenuItem,
+ this.enableAutofireToolStripMenuItem,
+ this.useXYOnClassicControllerAsAutofireABToolStripMenuItem,
+ this.upABStartOnSecondControllerToolStripMenuItem});
+ this.cloverconHackToolStripMenuItem.Name = "cloverconHackToolStripMenuItem";
+ resources.ApplyResources(this.cloverconHackToolStripMenuItem, "cloverconHackToolStripMenuItem");
+ //
+ // resetUsingCombinationOfButtonsToolStripMenuItem
+ //
+ this.resetUsingCombinationOfButtonsToolStripMenuItem.Checked = true;
+ this.resetUsingCombinationOfButtonsToolStripMenuItem.CheckOnClick = true;
+ this.resetUsingCombinationOfButtonsToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.resetUsingCombinationOfButtonsToolStripMenuItem.Name = "resetUsingCombinationOfButtonsToolStripMenuItem";
+ resources.ApplyResources(this.resetUsingCombinationOfButtonsToolStripMenuItem, "resetUsingCombinationOfButtonsToolStripMenuItem");
+ this.resetUsingCombinationOfButtonsToolStripMenuItem.Click += new System.EventHandler(this.cloverconHackToolStripMenuItem_Click);
+ //
+ // selectButtonCombinationToolStripMenuItem
+ //
+ this.selectButtonCombinationToolStripMenuItem.Name = "selectButtonCombinationToolStripMenuItem";
+ resources.ApplyResources(this.selectButtonCombinationToolStripMenuItem, "selectButtonCombinationToolStripMenuItem");
+ this.selectButtonCombinationToolStripMenuItem.Click += new System.EventHandler(this.selectButtonCombinationToolStripMenuItem_Click);
+ //
+ // enableAutofireToolStripMenuItem
+ //
+ this.enableAutofireToolStripMenuItem.CheckOnClick = true;
+ this.enableAutofireToolStripMenuItem.Name = "enableAutofireToolStripMenuItem";
+ resources.ApplyResources(this.enableAutofireToolStripMenuItem, "enableAutofireToolStripMenuItem");
+ this.enableAutofireToolStripMenuItem.Click += new System.EventHandler(this.enableAutofireToolStripMenuItem_Click);
+ //
+ // useXYOnClassicControllerAsAutofireABToolStripMenuItem
+ //
+ this.useXYOnClassicControllerAsAutofireABToolStripMenuItem.CheckOnClick = true;
+ this.useXYOnClassicControllerAsAutofireABToolStripMenuItem.Name = "useXYOnClassicControllerAsAutofireABToolStripMenuItem";
+ resources.ApplyResources(this.useXYOnClassicControllerAsAutofireABToolStripMenuItem, "useXYOnClassicControllerAsAutofireABToolStripMenuItem");
+ this.useXYOnClassicControllerAsAutofireABToolStripMenuItem.Click += new System.EventHandler(this.useXYOnClassicControllerAsAutofireABToolStripMenuItem_Click);
+ //
+ // upABStartOnSecondControllerToolStripMenuItem
+ //
+ this.upABStartOnSecondControllerToolStripMenuItem.CheckOnClick = true;
+ this.upABStartOnSecondControllerToolStripMenuItem.Name = "upABStartOnSecondControllerToolStripMenuItem";
+ resources.ApplyResources(this.upABStartOnSecondControllerToolStripMenuItem, "upABStartOnSecondControllerToolStripMenuItem");
+ this.upABStartOnSecondControllerToolStripMenuItem.Click += new System.EventHandler(this.upABStartOnSecondControllerToolStripMenuItem_Click);
+ //
+ // useExtendedFontToolStripMenuItem
+ //
+ this.useExtendedFontToolStripMenuItem.Checked = true;
+ this.useExtendedFontToolStripMenuItem.CheckOnClick = true;
+ this.useExtendedFontToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.useExtendedFontToolStripMenuItem.Name = "useExtendedFontToolStripMenuItem";
+ resources.ApplyResources(this.useExtendedFontToolStripMenuItem, "useExtendedFontToolStripMenuItem");
+ this.useExtendedFontToolStripMenuItem.Click += new System.EventHandler(this.useExtendedFontToolStripMenuItem_Click);
+ //
+ // epilepsyProtectionToolStripMenuItem
+ //
+ this.epilepsyProtectionToolStripMenuItem.CheckOnClick = true;
+ this.epilepsyProtectionToolStripMenuItem.Name = "epilepsyProtectionToolStripMenuItem";
+ resources.ApplyResources(this.epilepsyProtectionToolStripMenuItem, "epilepsyProtectionToolStripMenuItem");
+ this.epilepsyProtectionToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItemArmet_Click);
+ //
+ // compressGamesIfPossibleToolStripMenuItem
+ //
+ this.compressGamesIfPossibleToolStripMenuItem.CheckOnClick = true;
+ this.compressGamesIfPossibleToolStripMenuItem.Name = "compressGamesIfPossibleToolStripMenuItem";
+ resources.ApplyResources(this.compressGamesIfPossibleToolStripMenuItem, "compressGamesIfPossibleToolStripMenuItem");
+ this.compressGamesIfPossibleToolStripMenuItem.Click += new System.EventHandler(this.compressGamesIfPossibleToolStripMenuItem_Click);
+ //
+ // pagesfoldersTypeToolStripMenuItem
+ //
+ this.pagesfoldersTypeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.disablePagefoldersToolStripMenuItem,
+ this.toolStripMenuItem3,
+ this.automaticToolStripMenuItem,
+ this.automaticOriginalToolStripMenuItem,
+ this.pagesToolStripMenuItem,
+ this.pagesOriginalToolStripMenuItem,
+ this.foldersToolStripMenuItem,
+ this.foldersOriginalToolStripMenuItem,
+ this.foldersSplitByFirstLetterToolStripMenuItem,
+ this.foldersSplitByFirstLetterOriginalToolStripMenuItem,
+ this.maximumGamesPerFolderToolStripMenuItem,
+ this.toolStripMenuItem4,
+ this.customToolStripMenuItem});
+ this.pagesfoldersTypeToolStripMenuItem.Name = "pagesfoldersTypeToolStripMenuItem";
+ resources.ApplyResources(this.pagesfoldersTypeToolStripMenuItem, "pagesfoldersTypeToolStripMenuItem");
+ //
+ // disablePagefoldersToolStripMenuItem
+ //
+ this.disablePagefoldersToolStripMenuItem.Name = "disablePagefoldersToolStripMenuItem";
+ resources.ApplyResources(this.disablePagefoldersToolStripMenuItem, "disablePagefoldersToolStripMenuItem");
+ this.disablePagefoldersToolStripMenuItem.Tag = "0";
+ this.disablePagefoldersToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
+ //
+ // toolStripMenuItem3
+ //
+ this.toolStripMenuItem3.Name = "toolStripMenuItem3";
+ resources.ApplyResources(this.toolStripMenuItem3, "toolStripMenuItem3");
+ //
+ // automaticToolStripMenuItem
+ //
+ this.automaticToolStripMenuItem.Checked = true;
+ this.automaticToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.automaticToolStripMenuItem.Name = "automaticToolStripMenuItem";
+ resources.ApplyResources(this.automaticToolStripMenuItem, "automaticToolStripMenuItem");
+ this.automaticToolStripMenuItem.Tag = "2";
+ this.automaticToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
+ //
+ // automaticOriginalToolStripMenuItem
+ //
+ this.automaticOriginalToolStripMenuItem.Name = "automaticOriginalToolStripMenuItem";
+ resources.ApplyResources(this.automaticOriginalToolStripMenuItem, "automaticOriginalToolStripMenuItem");
+ this.automaticOriginalToolStripMenuItem.Tag = "3";
+ this.automaticOriginalToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
+ //
+ // pagesToolStripMenuItem
+ //
+ resources.ApplyResources(this.pagesToolStripMenuItem, "pagesToolStripMenuItem");
+ this.pagesToolStripMenuItem.Name = "pagesToolStripMenuItem";
+ this.pagesToolStripMenuItem.Tag = "4";
+ this.pagesToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
+ //
+ // pagesOriginalToolStripMenuItem
+ //
+ resources.ApplyResources(this.pagesOriginalToolStripMenuItem, "pagesOriginalToolStripMenuItem");
+ this.pagesOriginalToolStripMenuItem.Name = "pagesOriginalToolStripMenuItem";
+ this.pagesOriginalToolStripMenuItem.Tag = "5";
+ this.pagesOriginalToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
+ //
+ // foldersToolStripMenuItem
+ //
+ this.foldersToolStripMenuItem.Name = "foldersToolStripMenuItem";
+ resources.ApplyResources(this.foldersToolStripMenuItem, "foldersToolStripMenuItem");
+ this.foldersToolStripMenuItem.Tag = "6";
+ this.foldersToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
+ //
+ // foldersOriginalToolStripMenuItem
+ //
+ this.foldersOriginalToolStripMenuItem.Name = "foldersOriginalToolStripMenuItem";
+ resources.ApplyResources(this.foldersOriginalToolStripMenuItem, "foldersOriginalToolStripMenuItem");
+ this.foldersOriginalToolStripMenuItem.Tag = "7";
+ this.foldersOriginalToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
+ //
+ // foldersSplitByFirstLetterToolStripMenuItem
+ //
+ this.foldersSplitByFirstLetterToolStripMenuItem.Name = "foldersSplitByFirstLetterToolStripMenuItem";
+ resources.ApplyResources(this.foldersSplitByFirstLetterToolStripMenuItem, "foldersSplitByFirstLetterToolStripMenuItem");
+ this.foldersSplitByFirstLetterToolStripMenuItem.Tag = "8";
+ this.foldersSplitByFirstLetterToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
+ //
+ // foldersSplitByFirstLetterOriginalToolStripMenuItem
+ //
+ this.foldersSplitByFirstLetterOriginalToolStripMenuItem.Name = "foldersSplitByFirstLetterOriginalToolStripMenuItem";
+ resources.ApplyResources(this.foldersSplitByFirstLetterOriginalToolStripMenuItem, "foldersSplitByFirstLetterOriginalToolStripMenuItem");
+ this.foldersSplitByFirstLetterOriginalToolStripMenuItem.Tag = "9";
+ this.foldersSplitByFirstLetterOriginalToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
+ //
+ // maximumGamesPerFolderToolStripMenuItem
+ //
+ this.maximumGamesPerFolderToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.max20toolStripMenuItem,
+ this.max25toolStripMenuItem,
+ this.max30toolStripMenuItem,
+ this.max35toolStripMenuItem,
+ this.max40toolStripMenuItem,
+ this.max45toolStripMenuItem,
+ this.max50toolStripMenuItem,
+ this.max60toolStripMenuItem,
+ this.max70toolStripMenuItem,
+ this.max80toolStripMenuItem,
+ this.max90toolStripMenuItem,
+ this.max100toolStripMenuItem});
+ this.maximumGamesPerFolderToolStripMenuItem.Name = "maximumGamesPerFolderToolStripMenuItem";
+ resources.ApplyResources(this.maximumGamesPerFolderToolStripMenuItem, "maximumGamesPerFolderToolStripMenuItem");
+ //
+ // max20toolStripMenuItem
+ //
+ this.max20toolStripMenuItem.Name = "max20toolStripMenuItem";
+ resources.ApplyResources(this.max20toolStripMenuItem, "max20toolStripMenuItem");
+ this.max20toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
+ //
+ // max25toolStripMenuItem
+ //
+ this.max25toolStripMenuItem.Name = "max25toolStripMenuItem";
+ resources.ApplyResources(this.max25toolStripMenuItem, "max25toolStripMenuItem");
+ this.max25toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
+ //
+ // max30toolStripMenuItem
+ //
+ this.max30toolStripMenuItem.Name = "max30toolStripMenuItem";
+ resources.ApplyResources(this.max30toolStripMenuItem, "max30toolStripMenuItem");
+ this.max30toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
+ //
+ // max35toolStripMenuItem
+ //
+ this.max35toolStripMenuItem.Name = "max35toolStripMenuItem";
+ resources.ApplyResources(this.max35toolStripMenuItem, "max35toolStripMenuItem");
+ this.max35toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
+ //
+ // max40toolStripMenuItem
+ //
+ this.max40toolStripMenuItem.Name = "max40toolStripMenuItem";
+ resources.ApplyResources(this.max40toolStripMenuItem, "max40toolStripMenuItem");
+ this.max40toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
+ //
+ // max45toolStripMenuItem
+ //
+ this.max45toolStripMenuItem.Name = "max45toolStripMenuItem";
+ resources.ApplyResources(this.max45toolStripMenuItem, "max45toolStripMenuItem");
+ this.max45toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
+ //
+ // max50toolStripMenuItem
+ //
+ this.max50toolStripMenuItem.Name = "max50toolStripMenuItem";
+ resources.ApplyResources(this.max50toolStripMenuItem, "max50toolStripMenuItem");
+ this.max50toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
+ //
+ // max60toolStripMenuItem
+ //
+ this.max60toolStripMenuItem.Name = "max60toolStripMenuItem";
+ resources.ApplyResources(this.max60toolStripMenuItem, "max60toolStripMenuItem");
+ this.max60toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
+ //
+ // max70toolStripMenuItem
+ //
+ this.max70toolStripMenuItem.Name = "max70toolStripMenuItem";
+ resources.ApplyResources(this.max70toolStripMenuItem, "max70toolStripMenuItem");
+ this.max70toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
+ //
+ // max80toolStripMenuItem
+ //
+ this.max80toolStripMenuItem.Name = "max80toolStripMenuItem";
+ resources.ApplyResources(this.max80toolStripMenuItem, "max80toolStripMenuItem");
+ this.max80toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
+ //
+ // max90toolStripMenuItem
+ //
+ this.max90toolStripMenuItem.Name = "max90toolStripMenuItem";
+ resources.ApplyResources(this.max90toolStripMenuItem, "max90toolStripMenuItem");
+ this.max90toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
+ //
+ // max100toolStripMenuItem
+ //
+ this.max100toolStripMenuItem.Name = "max100toolStripMenuItem";
+ resources.ApplyResources(this.max100toolStripMenuItem, "max100toolStripMenuItem");
+ this.max100toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
+ //
+ // toolStripMenuItem4
+ //
+ this.toolStripMenuItem4.Name = "toolStripMenuItem4";
+ resources.ApplyResources(this.toolStripMenuItem4, "toolStripMenuItem4");
+ //
+ // customToolStripMenuItem
+ //
+ this.customToolStripMenuItem.Name = "customToolStripMenuItem";
+ resources.ApplyResources(this.customToolStripMenuItem, "customToolStripMenuItem");
+ this.customToolStripMenuItem.Tag = "99";
+ this.customToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
+ //
+ // globalCommandLineArgumentsexpertsOnluToolStripMenuItem
+ //
+ this.globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Name = "globalCommandLineArgumentsexpertsOnluToolStripMenuItem";
+ resources.ApplyResources(this.globalCommandLineArgumentsexpertsOnluToolStripMenuItem, "globalCommandLineArgumentsexpertsOnluToolStripMenuItem");
+ this.globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Click += new System.EventHandler(this.globalCommandLineArgumentsexpertsOnluToolStripMenuItem_Click);
+ //
+ // toolStripMenuItem5
+ //
+ this.toolStripMenuItem5.Name = "toolStripMenuItem5";
+ resources.ApplyResources(this.toolStripMenuItem5, "toolStripMenuItem5");
+ //
+ // saveSettingsToNESMiniNowToolStripMenuItem
+ //
+ resources.ApplyResources(this.saveSettingsToNESMiniNowToolStripMenuItem, "saveSettingsToNESMiniNowToolStripMenuItem");
+ this.saveSettingsToNESMiniNowToolStripMenuItem.Name = "saveSettingsToNESMiniNowToolStripMenuItem";
+ this.saveSettingsToNESMiniNowToolStripMenuItem.Click += new System.EventHandler(this.saveSettingsToNESMiniNowToolStripMenuItem_Click);
+ //
+ // toolsToolStripMenuItem
+ //
+ this.toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.saveStateManagerToolStripMenuItem,
+ this.toolStripMenuItem6,
+ this.FTPToolStripMenuItem,
+ this.openFTPInExplorerToolStripMenuItem,
+ this.toolStripMenuItem7,
+ this.shellToolStripMenuItem,
+ this.openTelnetToolStripMenuItem,
+ this.toolStripMenuItem8,
+ this.takeScreenshotToolStripMenuItem});
+ this.toolsToolStripMenuItem.Name = "toolsToolStripMenuItem";
+ resources.ApplyResources(this.toolsToolStripMenuItem, "toolsToolStripMenuItem");
+ //
+ // saveStateManagerToolStripMenuItem
+ //
+ this.saveStateManagerToolStripMenuItem.Name = "saveStateManagerToolStripMenuItem";
+ resources.ApplyResources(this.saveStateManagerToolStripMenuItem, "saveStateManagerToolStripMenuItem");
+ this.saveStateManagerToolStripMenuItem.Click += new System.EventHandler(this.saveStateManagerToolStripMenuItem_Click);
+ //
+ // toolStripMenuItem6
+ //
+ this.toolStripMenuItem6.Name = "toolStripMenuItem6";
+ resources.ApplyResources(this.toolStripMenuItem6, "toolStripMenuItem6");
+ //
+ // FTPToolStripMenuItem
+ //
+ this.FTPToolStripMenuItem.CheckOnClick = true;
+ this.FTPToolStripMenuItem.Name = "FTPToolStripMenuItem";
+ resources.ApplyResources(this.FTPToolStripMenuItem, "FTPToolStripMenuItem");
+ this.FTPToolStripMenuItem.Click += new System.EventHandler(this.FTPToolStripMenuItem_Click);
+ //
+ // openFTPInExplorerToolStripMenuItem
+ //
+ resources.ApplyResources(this.openFTPInExplorerToolStripMenuItem, "openFTPInExplorerToolStripMenuItem");
+ this.openFTPInExplorerToolStripMenuItem.Name = "openFTPInExplorerToolStripMenuItem";
+ this.openFTPInExplorerToolStripMenuItem.Click += new System.EventHandler(this.openFTPInExplorerToolStripMenuItem_Click);
+ //
+ // toolStripMenuItem7
+ //
+ this.toolStripMenuItem7.Name = "toolStripMenuItem7";
+ resources.ApplyResources(this.toolStripMenuItem7, "toolStripMenuItem7");
+ //
+ // shellToolStripMenuItem
+ //
+ this.shellToolStripMenuItem.CheckOnClick = true;
+ this.shellToolStripMenuItem.Name = "shellToolStripMenuItem";
+ resources.ApplyResources(this.shellToolStripMenuItem, "shellToolStripMenuItem");
+ this.shellToolStripMenuItem.Click += new System.EventHandler(this.shellToolStripMenuItem_Click);
+ //
+ // openTelnetToolStripMenuItem
+ //
+ resources.ApplyResources(this.openTelnetToolStripMenuItem, "openTelnetToolStripMenuItem");
+ this.openTelnetToolStripMenuItem.Name = "openTelnetToolStripMenuItem";
+ this.openTelnetToolStripMenuItem.Click += new System.EventHandler(this.openTelnetToolStripMenuItem_Click);
+ //
+ // toolStripMenuItem8
+ //
+ this.toolStripMenuItem8.Name = "toolStripMenuItem8";
+ resources.ApplyResources(this.toolStripMenuItem8, "toolStripMenuItem8");
+ //
+ // takeScreenshotToolStripMenuItem
+ //
+ this.takeScreenshotToolStripMenuItem.Name = "takeScreenshotToolStripMenuItem";
+ resources.ApplyResources(this.takeScreenshotToolStripMenuItem, "takeScreenshotToolStripMenuItem");
+ this.takeScreenshotToolStripMenuItem.Click += new System.EventHandler(this.takeScreenshotToolStripMenuItem_Click);
+ //
+ // helpToolStripMenuItem
+ //
+ this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.gitHubPageWithActualReleasesToolStripMenuItem,
+ this.fAQToolStripMenuItem,
+ this.aboutToolStripMenuItem});
+ this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
+ resources.ApplyResources(this.helpToolStripMenuItem, "helpToolStripMenuItem");
+ //
+ // gitHubPageWithActualReleasesToolStripMenuItem
+ //
+ this.gitHubPageWithActualReleasesToolStripMenuItem.Name = "gitHubPageWithActualReleasesToolStripMenuItem";
+ resources.ApplyResources(this.gitHubPageWithActualReleasesToolStripMenuItem, "gitHubPageWithActualReleasesToolStripMenuItem");
+ this.gitHubPageWithActualReleasesToolStripMenuItem.Click += new System.EventHandler(this.gitHubPageWithActualReleasesToolStripMenuItem_Click);
+ //
+ // fAQToolStripMenuItem
+ //
+ this.fAQToolStripMenuItem.Name = "fAQToolStripMenuItem";
+ resources.ApplyResources(this.fAQToolStripMenuItem, "fAQToolStripMenuItem");
+ this.fAQToolStripMenuItem.Click += new System.EventHandler(this.fAQToolStripMenuItem_Click);
+ //
+ // aboutToolStripMenuItem
+ //
+ this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
+ resources.ApplyResources(this.aboutToolStripMenuItem, "aboutToolStripMenuItem");
+ this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click);
+ //
+ // checkedListBoxGames
+ //
+ resources.ApplyResources(this.checkedListBoxGames, "checkedListBoxGames");
+ this.checkedListBoxGames.FormattingEnabled = true;
+ this.checkedListBoxGames.Name = "checkedListBoxGames";
+ this.checkedListBoxGames.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.checkedListBoxGames_ItemCheck);
+ this.checkedListBoxGames.SelectedIndexChanged += new System.EventHandler(this.checkedListBoxGames_SelectedIndexChanged);
+ this.checkedListBoxGames.KeyDown += new System.Windows.Forms.KeyEventHandler(this.checkedListBoxGames_KeyDown);
+ this.checkedListBoxGames.MouseDown += new System.Windows.Forms.MouseEventHandler(this.checkedListBoxGames_MouseDown);
+ //
+ // groupBoxOptions
+ //
+ resources.ApplyResources(this.groupBoxOptions, "groupBoxOptions");
+ this.groupBoxOptions.Controls.Add(this.buttonShowGameGenieDatabase);
+ this.groupBoxOptions.Controls.Add(this.maskedTextBoxReleaseDate);
+ this.groupBoxOptions.Controls.Add(this.label1);
+ this.groupBoxOptions.Controls.Add(this.textBoxGameGenie);
+ this.groupBoxOptions.Controls.Add(this.label7);
+ this.groupBoxOptions.Controls.Add(this.label6);
+ this.groupBoxOptions.Controls.Add(this.radioButtonTwoSim);
+ this.groupBoxOptions.Controls.Add(this.buttonGoogle);
+ this.groupBoxOptions.Controls.Add(this.buttonBrowseImage);
+ this.groupBoxOptions.Controls.Add(this.pictureBoxArt);
+ this.groupBoxOptions.Controls.Add(this.label4);
+ this.groupBoxOptions.Controls.Add(this.textBoxArguments);
+ this.groupBoxOptions.Controls.Add(this.label3);
+ this.groupBoxOptions.Controls.Add(this.textBoxPublisher);
+ this.groupBoxOptions.Controls.Add(this.label2);
+ this.groupBoxOptions.Controls.Add(this.radioButtonTwo);
+ this.groupBoxOptions.Controls.Add(this.radioButtonOne);
+ this.groupBoxOptions.Controls.Add(this.textBoxName);
+ this.groupBoxOptions.Controls.Add(this.labelName);
+ this.groupBoxOptions.Controls.Add(this.labelID);
+ this.groupBoxOptions.Name = "groupBoxOptions";
+ this.groupBoxOptions.TabStop = false;
+ //
+ // buttonShowGameGenieDatabase
+ //
+ resources.ApplyResources(this.buttonShowGameGenieDatabase, "buttonShowGameGenieDatabase");
+ this.buttonShowGameGenieDatabase.Name = "buttonShowGameGenieDatabase";
+ this.buttonShowGameGenieDatabase.UseVisualStyleBackColor = true;
+ this.buttonShowGameGenieDatabase.Click += new System.EventHandler(this.buttonShowGameGenieDatabase_Click);
+ //
+ // maskedTextBoxReleaseDate
+ //
+ resources.ApplyResources(this.maskedTextBoxReleaseDate, "maskedTextBoxReleaseDate");
+ this.maskedTextBoxReleaseDate.Name = "maskedTextBoxReleaseDate";
+ this.maskedTextBoxReleaseDate.TextChanged += new System.EventHandler(this.maskedTextBoxReleaseDate_TextChanged);
+ //
+ // label1
+ //
+ resources.ApplyResources(this.label1, "label1");
+ this.label1.Name = "label1";
+ //
+ // textBoxGameGenie
+ //
+ resources.ApplyResources(this.textBoxGameGenie, "textBoxGameGenie");
+ this.textBoxGameGenie.Name = "textBoxGameGenie";
+ this.textBoxGameGenie.TextChanged += new System.EventHandler(this.textBoxGameGenie_TextChanged);
+ //
+ // label7
+ //
+ resources.ApplyResources(this.label7, "label7");
+ this.label7.Name = "label7";
+ //
+ // label6
+ //
+ resources.ApplyResources(this.label6, "label6");
+ this.label6.Name = "label6";
+ //
+ // radioButtonTwoSim
+ //
+ resources.ApplyResources(this.radioButtonTwoSim, "radioButtonTwoSim");
+ this.radioButtonTwoSim.Name = "radioButtonTwoSim";
+ this.radioButtonTwoSim.UseVisualStyleBackColor = true;
+ this.radioButtonTwoSim.CheckedChanged += new System.EventHandler(this.radioButtonOne_CheckedChanged);
+ //
+ // buttonGoogle
+ //
+ resources.ApplyResources(this.buttonGoogle, "buttonGoogle");
+ this.buttonGoogle.Name = "buttonGoogle";
+ this.buttonGoogle.UseVisualStyleBackColor = true;
+ this.buttonGoogle.Click += new System.EventHandler(this.buttonGoogle_Click);
+ //
+ // buttonBrowseImage
+ //
+ resources.ApplyResources(this.buttonBrowseImage, "buttonBrowseImage");
+ this.buttonBrowseImage.Name = "buttonBrowseImage";
+ this.buttonBrowseImage.UseVisualStyleBackColor = true;
+ this.buttonBrowseImage.Click += new System.EventHandler(this.buttonBrowseImage_Click);
+ //
+ // pictureBoxArt
+ //
+ resources.ApplyResources(this.pictureBoxArt, "pictureBoxArt");
+ this.pictureBoxArt.Name = "pictureBoxArt";
+ this.pictureBoxArt.TabStop = false;
+ //
+ // label4
+ //
+ resources.ApplyResources(this.label4, "label4");
+ this.label4.Name = "label4";
+ //
+ // textBoxArguments
+ //
+ resources.ApplyResources(this.textBoxArguments, "textBoxArguments");
+ this.textBoxArguments.Name = "textBoxArguments";
+ this.textBoxArguments.TextChanged += new System.EventHandler(this.textBoxArguments_TextChanged);
+ //
+ // label3
+ //
+ resources.ApplyResources(this.label3, "label3");
+ this.label3.Name = "label3";
+ //
+ // textBoxPublisher
+ //
+ resources.ApplyResources(this.textBoxPublisher, "textBoxPublisher");
+ this.textBoxPublisher.Name = "textBoxPublisher";
+ this.textBoxPublisher.TextChanged += new System.EventHandler(this.textBoxPublisher_TextChanged);
+ //
+ // label2
+ //
+ resources.ApplyResources(this.label2, "label2");
+ this.label2.Name = "label2";
+ //
+ // radioButtonTwo
+ //
+ resources.ApplyResources(this.radioButtonTwo, "radioButtonTwo");
+ this.radioButtonTwo.Name = "radioButtonTwo";
+ this.radioButtonTwo.UseVisualStyleBackColor = true;
+ this.radioButtonTwo.CheckedChanged += new System.EventHandler(this.radioButtonOne_CheckedChanged);
+ //
+ // radioButtonOne
+ //
+ resources.ApplyResources(this.radioButtonOne, "radioButtonOne");
+ this.radioButtonOne.Checked = true;
+ this.radioButtonOne.Name = "radioButtonOne";
+ this.radioButtonOne.TabStop = true;
+ this.radioButtonOne.UseVisualStyleBackColor = true;
+ this.radioButtonOne.CheckedChanged += new System.EventHandler(this.radioButtonOne_CheckedChanged);
+ //
+ // textBoxName
+ //
+ resources.ApplyResources(this.textBoxName, "textBoxName");
+ this.textBoxName.Name = "textBoxName";
+ this.textBoxName.TextChanged += new System.EventHandler(this.textBoxName_TextChanged);
+ //
+ // labelName
+ //
+ resources.ApplyResources(this.labelName, "labelName");
+ this.labelName.Name = "labelName";
+ //
+ // labelID
+ //
+ resources.ApplyResources(this.labelID, "labelID");
+ this.labelID.Name = "labelID";
+ //
+ // label5
+ //
+ resources.ApplyResources(this.label5, "label5");
+ this.label5.Name = "label5";
+ //
+ // buttonAddGames
+ //
+ resources.ApplyResources(this.buttonAddGames, "buttonAddGames");
+ this.buttonAddGames.Name = "buttonAddGames";
+ this.buttonAddGames.UseVisualStyleBackColor = true;
+ this.buttonAddGames.Click += new System.EventHandler(this.buttonAddGames_Click);
+ //
+ // statusStrip
+ //
+ this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.toolStripStatusConnectionIcon,
+ this.toolStripStatusLabelSelected,
+ this.toolStripStatusLabelSize,
+ this.toolStripProgressBar});
+ resources.ApplyResources(this.statusStrip, "statusStrip");
+ this.statusStrip.Name = "statusStrip";
+ this.statusStrip.SizingGrip = false;
+ //
+ // toolStripStatusConnectionIcon
+ //
+ resources.ApplyResources(this.toolStripStatusConnectionIcon, "toolStripStatusConnectionIcon");
+ this.toolStripStatusConnectionIcon.Image = global::com.clusterrr.hakchi_gui.Properties.Resources.red;
+ this.toolStripStatusConnectionIcon.Margin = new System.Windows.Forms.Padding(2, 3, 2, 2);
+ this.toolStripStatusConnectionIcon.Name = "toolStripStatusConnectionIcon";
+ //
+ // toolStripStatusLabelSelected
+ //
+ resources.ApplyResources(this.toolStripStatusLabelSelected, "toolStripStatusLabelSelected");
+ this.toolStripStatusLabelSelected.BorderSides = ((System.Windows.Forms.ToolStripStatusLabelBorderSides)((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left | System.Windows.Forms.ToolStripStatusLabelBorderSides.Top)
+ | System.Windows.Forms.ToolStripStatusLabelBorderSides.Right)
+ | System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom)));
+ this.toolStripStatusLabelSelected.Name = "toolStripStatusLabelSelected";
+ //
+ // toolStripStatusLabelSize
+ //
+ resources.ApplyResources(this.toolStripStatusLabelSize, "toolStripStatusLabelSize");
+ this.toolStripStatusLabelSize.BorderSides = ((System.Windows.Forms.ToolStripStatusLabelBorderSides)((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left | System.Windows.Forms.ToolStripStatusLabelBorderSides.Top)
+ | System.Windows.Forms.ToolStripStatusLabelBorderSides.Right)
+ | System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom)));
+ this.toolStripStatusLabelSize.Name = "toolStripStatusLabelSize";
+ //
+ // toolStripProgressBar
+ //
+ this.toolStripProgressBar.ForeColor = System.Drawing.SystemColors.ControlText;
+ this.toolStripProgressBar.Name = "toolStripProgressBar";
+ resources.ApplyResources(this.toolStripProgressBar, "toolStripProgressBar");
+ this.toolStripProgressBar.Style = System.Windows.Forms.ProgressBarStyle.Continuous;
+ //
+ // openFileDialogNes
+ //
+ this.openFileDialogNes.DefaultExt = "nes";
+ this.openFileDialogNes.Multiselect = true;
+ resources.ApplyResources(this.openFileDialogNes, "openFileDialogNes");
+ //
+ // contextMenuStrip
+ //
+ this.contextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.selectAllToolStripMenuItem,
+ this.unselectAllToolStripMenuItem,
+ this.deleteGameToolStripMenuItem});
+ this.contextMenuStrip.Name = "contextMenuStrip";
+ resources.ApplyResources(this.contextMenuStrip, "contextMenuStrip");
+ //
+ // selectAllToolStripMenuItem
+ //
+ this.selectAllToolStripMenuItem.Name = "selectAllToolStripMenuItem";
+ resources.ApplyResources(this.selectAllToolStripMenuItem, "selectAllToolStripMenuItem");
+ this.selectAllToolStripMenuItem.Click += new System.EventHandler(this.selectAllToolStripMenuItem_Click);
+ //
+ // unselectAllToolStripMenuItem
+ //
+ this.unselectAllToolStripMenuItem.Name = "unselectAllToolStripMenuItem";
+ resources.ApplyResources(this.unselectAllToolStripMenuItem, "unselectAllToolStripMenuItem");
+ this.unselectAllToolStripMenuItem.Click += new System.EventHandler(this.unselectAllToolStripMenuItem_Click);
+ //
+ // deleteGameToolStripMenuItem
+ //
+ this.deleteGameToolStripMenuItem.Name = "deleteGameToolStripMenuItem";
+ resources.ApplyResources(this.deleteGameToolStripMenuItem, "deleteGameToolStripMenuItem");
+ this.deleteGameToolStripMenuItem.Click += new System.EventHandler(this.deleteGameToolStripMenuItem_Click);
+ //
+ // openFileDialogImage
+ //
+ resources.ApplyResources(this.openFileDialogImage, "openFileDialogImage");
+ //
+ // buttonStart
+ //
+ resources.ApplyResources(this.buttonStart, "buttonStart");
+ this.buttonStart.Name = "buttonStart";
+ this.buttonStart.UseVisualStyleBackColor = true;
+ this.buttonStart.Click += new System.EventHandler(this.buttonStart_Click);
+ //
+ // timerCalculateGames
+ //
+ this.timerCalculateGames.Enabled = true;
+ this.timerCalculateGames.Interval = 500;
+ this.timerCalculateGames.Tick += new System.EventHandler(this.timerCalculateGames_Tick);
+ //
+ // timerConnectionCheck
+ //
+ this.timerConnectionCheck.Enabled = true;
+ this.timerConnectionCheck.Interval = 500;
+ this.timerConnectionCheck.Tick += new System.EventHandler(this.timerConnectionCheck_Tick);
+ //
+ // MainForm
+ //
+ this.AllowDrop = true;
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.buttonStart);
+ this.Controls.Add(this.statusStrip);
+ this.Controls.Add(this.buttonAddGames);
+ this.Controls.Add(this.label5);
+ this.Controls.Add(this.checkedListBoxGames);
+ this.Controls.Add(this.menuStrip);
+ this.Controls.Add(this.groupBoxOptions);
+ this.Cursor = System.Windows.Forms.Cursors.Default;
+ this.KeyPreview = true;
+ this.MaximizeBox = false;
+ this.Name = "MainForm";
+ this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing);
+ this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainForm_FormClosed);
+ this.Shown += new System.EventHandler(this.MainForm_Shown);
+ this.DragDrop += new System.Windows.Forms.DragEventHandler(this.checkedListBoxGames_DragDrop);
+ this.DragEnter += new System.Windows.Forms.DragEventHandler(this.checkedListBoxGames_DragEnter);
+ this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyDown);
+ this.menuStrip.ResumeLayout(false);
+ this.menuStrip.PerformLayout();
+ this.groupBoxOptions.ResumeLayout(false);
+ this.groupBoxOptions.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBoxArt)).EndInit();
+ this.statusStrip.ResumeLayout(false);
+ this.statusStrip.PerformLayout();
+ this.contextMenuStrip.ResumeLayout(false);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.MenuStrip menuStrip;
+ private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem addMoreGamesToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
+ private System.Windows.Forms.GroupBox groupBoxOptions;
+ private System.Windows.Forms.RadioButton radioButtonTwo;
+ private System.Windows.Forms.RadioButton radioButtonOne;
+ private System.Windows.Forms.TextBox textBoxName;
+ private System.Windows.Forms.Label labelName;
+ private System.Windows.Forms.Label labelID;
+ private System.Windows.Forms.TextBox textBoxPublisher;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.MaskedTextBox maskedTextBoxReleaseDate;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.TextBox textBoxArguments;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.PictureBox pictureBoxArt;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.Button buttonGoogle;
+ private System.Windows.Forms.Button buttonBrowseImage;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.Button buttonAddGames;
+ private System.Windows.Forms.StatusStrip statusStrip;
+ private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelSelected;
+ private System.Windows.Forms.OpenFileDialog openFileDialogNes;
+ private System.Windows.Forms.ContextMenuStrip contextMenuStrip;
+ private System.Windows.Forms.ToolStripMenuItem deleteGameToolStripMenuItem;
+ private System.Windows.Forms.OpenFileDialog openFileDialogImage;
+ private System.Windows.Forms.Button buttonStart;
+ private System.Windows.Forms.ToolStripMenuItem kernelToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem dumpKernelToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem flashCustomKernelToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem flashOriginalKernelToolStripMenuItem;
+ private System.Windows.Forms.RadioButton radioButtonTwoSim;
+ private System.Windows.Forms.Label label6;
+ private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem;
+ private System.Windows.Forms.Timer timerCalculateGames;
+ private System.Windows.Forms.ToolStripMenuItem selectAllToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem unselectAllToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem uninstallToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem fAQToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem gitHubPageWithActualReleasesToolStripMenuItem;
+ private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1;
+ private System.Windows.Forms.ToolStripMenuItem presetsToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem addPresetToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem deletePresetToolStripMenuItem;
+ private System.Windows.Forms.ToolStripSeparator toolStripMenuItem2;
+ protected internal System.Windows.Forms.CheckedListBox checkedListBoxGames;
+ private System.Windows.Forms.ToolStripMenuItem searchToolStripMenuItem;
+ private System.Windows.Forms.TextBox textBoxGameGenie;
+ private System.Windows.Forms.Label label7;
+ private System.Windows.Forms.ToolStripMenuItem epilepsyProtectionToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem cloverconHackToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem resetUsingCombinationOfButtonsToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem selectButtonCombinationToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem consoleTypeToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem nESMiniToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem famicomMiniToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem enableAutofireToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem globalCommandLineArgumentsexpertsOnluToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem upABStartOnSecondControllerToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem downloadCoversForAllGamesToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem pagesfoldersTypeToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem pagesToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem disablePagefoldersToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem foldersToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem automaticOriginalToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem foldersSplitByFirstLetterToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem customToolStripMenuItem;
+ private System.Windows.Forms.Button buttonShowGameGenieDatabase;
+ private System.Windows.Forms.ToolStripSeparator toolStripMenuItem3;
+ private System.Windows.Forms.ToolStripMenuItem pagesOriginalToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem foldersOriginalToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem foldersSplitByFirstLetterOriginalToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem maximumGamesPerFolderToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem max20toolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem max25toolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem max30toolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem max35toolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem max40toolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem max45toolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem max50toolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem max60toolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem max70toolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem max80toolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem max90toolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem max100toolStripMenuItem;
+ private System.Windows.Forms.ToolStripSeparator toolStripMenuItem4;
+ private System.Windows.Forms.ToolStripMenuItem automaticToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem useExtendedFontToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem modulesToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem installModulesToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem uninstallModulesToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem synchronizeToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem useXYOnClassicControllerAsAutofireABToolStripMenuItem;
+ private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelSize;
+ private System.Windows.Forms.ToolStripProgressBar toolStripProgressBar;
+ private System.Windows.Forms.ToolStripStatusLabel toolStripStatusConnectionIcon;
+ private System.Windows.Forms.Timer timerConnectionCheck;
+ private System.Windows.Forms.ToolStripSeparator toolStripMenuItem5;
+ private System.Windows.Forms.ToolStripMenuItem saveSettingsToNESMiniNowToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem compressGamesIfPossibleToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem toolsToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem saveStateManagerToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem FTPToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem shellToolStripMenuItem;
+ private System.Windows.Forms.ToolStripSeparator toolStripMenuItem6;
+ private System.Windows.Forms.ToolStripMenuItem openFTPInExplorerToolStripMenuItem;
+ private System.Windows.Forms.ToolStripSeparator toolStripMenuItem7;
+ private System.Windows.Forms.ToolStripMenuItem openTelnetToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem languageToolStripMenuItem;
+ private System.Windows.Forms.ToolStripSeparator toolStripMenuItem8;
+ private System.Windows.Forms.ToolStripMenuItem takeScreenshotToolStripMenuItem;
+ }
+}
+
diff --git a/MainForm.cs b/MainForm.cs
index 33dfcbb4..13b604e1 100644
--- a/MainForm.cs
+++ b/MainForm.cs
@@ -1,1534 +1,1373 @@
-using com.clusterrr.clovershell;
-using com.clusterrr.Famicom;
-using com.clusterrr.hakchi_gui.Properties;
-using SevenZip;
-using System;
-using System.Collections.Generic;
-using System.Deployment.Application;
-using System.Diagnostics;
-using System.Drawing;
-using System.Drawing.Imaging;
-using System.Globalization;
-using System.IO;
-using System.Linq;
-using System.Reflection;
-using System.Resources;
-using System.Text.RegularExpressions;
-using System.Threading;
-using System.Windows.Forms;
-
-namespace com.clusterrr.hakchi_gui
-{
- public partial class MainForm : Form
- {
- public const long DefaultMaxGamesSize = 300;
- public static IEnumerable<string> InternalMods;
- public static ClovershellConnection Clovershell;
- //readonly string UBootDump;
- public static string KernelDump;
- mooftpserv.Server ftpServer;
-
- static NesDefaultGame[] defaultNesGames = new NesDefaultGame[] {
- new NesDefaultGame { Code = "CLV-P-NAAAE", Name = "Super Mario Bros.", Size = 571031 },
- new NesDefaultGame { Code = "CLV-P-NAACE", Name = "Super Mario Bros. 3", Size = 1163285 },
- new NesDefaultGame { Code = "CLV-P-NAADE", Name = "Super Mario Bros. 2",Size = 1510337 },
- new NesDefaultGame { Code = "CLV-P-NAAEE", Name = "Donkey Kong", Size = 556016 },
- new NesDefaultGame { Code = "CLV-P-NAAFE", Name = "Donkey Kong Jr." , Size = 558176 },
- new NesDefaultGame { Code = "CLV-P-NAAHE", Name = "Excitebike", Size = 573231 },
- new NesDefaultGame { Code = "CLV-P-NAANE", Name = "The Legend of Zelda", Size = 663910 },
- new NesDefaultGame { Code = "CLV-P-NAAPE", Name = "Kirby's Adventure", Size = 1321661 },
- new NesDefaultGame { Code = "CLV-P-NAAQE", Name = "Metroid", Size = 662601 },
- new NesDefaultGame { Code = "CLV-P-NAARE", Name = "Balloon Fight", Size = 556131 },
- new NesDefaultGame { Code = "CLV-P-NAASE", Name = "Zelda II - The Adventure of Link", Size = 1024158 },
- new NesDefaultGame { Code = "CLV-P-NAATE", Name = "Punch-Out!! Featuring Mr. Dream", Size = 1038128 },
- new NesDefaultGame { Code = "CLV-P-NAAUE", Name = "Ice Climber", Size = 553436 },
- new NesDefaultGame { Code = "CLV-P-NAAVE", Name = "Kid Icarus", Size = 670710 },
- new NesDefaultGame { Code = "CLV-P-NAAWE", Name = "Mario Bros.", Size = 1018973 },
- new NesDefaultGame { Code = "CLV-P-NAAXE", Name = "Dr. MARIO", Size = 1089427 },
- new NesDefaultGame { Code = "CLV-P-NAAZE", Name = "StarTropics", Size = 1299361 },
- new NesDefaultGame { Code = "CLV-P-NABBE", Name = "MEGA MAN™ 2", Size = 569868 },
- new NesDefaultGame { Code = "CLV-P-NABCE", Name = "GHOSTS'N GOBLINS™", Size = 440971 },
- new NesDefaultGame { Code = "CLV-P-NABJE", Name = "FINAL FANTASY®", Size = 552556 },
- new NesDefaultGame { Code = "CLV-P-NABKE", Name = "BUBBLE BOBBLE" , Size = 474232 },
- new NesDefaultGame { Code = "CLV-P-NABME", Name = "PAC-MAN", Size = 325888 },
- new NesDefaultGame { Code = "CLV-P-NABNE", Name = "Galaga", Size = 347079 },
- new NesDefaultGame { Code = "CLV-P-NABQE", Name = "Castlevania", Size = 434240 },
- new NesDefaultGame { Code = "CLV-P-NABRE", Name = "GRADIUS", Size = 370790 },
- new NesDefaultGame { Code = "CLV-P-NABVE", Name = "Super C", Size = 565974 },
- new NesDefaultGame { Code = "CLV-P-NABXE", Name = "Castlevania II Simon's Quest", Size = 569759 },
- new NesDefaultGame { Code = "CLV-P-NACBE", Name = "NINJA GAIDEN", Size =573536 },
- new NesDefaultGame { Code = "CLV-P-NACDE", Name = "TECMO BOWL", Size =568276 },
- new NesDefaultGame { Code = "CLV-P-NACHE", Name = "DOUBLE DRAGON II: The Revenge", Size = 578900 }
- };
- NesDefaultGame[] defaultFamicomGames = new NesDefaultGame[] {
- new NesDefaultGame { Code = "CLV-P-HAAAJ", Name = "スーパーマリオブラザーズ", Size = 596775 },
- new NesDefaultGame { Code = "CLV-P-HAACJ", Name = "スーパーマリオブラザーズ3", Size = 1411534 },
- new NesDefaultGame { Code = "CLV-P-HAADJ", Name = "スーパーマリオUSA", Size = 1501542 },
- new NesDefaultGame { Code = "CLV-P-HAAEJ", Name = "ドンキーコング" , Size = 568006 },
- new NesDefaultGame { Code = "CLV-P-HAAHJ", Name = "エキサイトバイク" , Size = 597513 },
- new NesDefaultGame { Code = "CLV-P-HAAMJ", Name = "マリオオープンゴルフ" , Size = 798179 },
- new NesDefaultGame { Code = "CLV-P-HAANJ", Name = "ゼルダの伝説", Size = 677971 },
- new NesDefaultGame { Code = "CLV-P-HAAPJ", Name = "星のカービィ 夢の泉の物語" , Size = 1331436 },
- new NesDefaultGame { Code = "CLV-P-HAAQJ", Name = "メトロイド" , Size = 666895 },
- new NesDefaultGame { Code = "CLV-P-HAARJ", Name = "バルーンファイト" , Size = 569750 },
- new NesDefaultGame { Code = "CLV-P-HAASJ", Name = "リンクの冒険" , Size = 666452 },
- new NesDefaultGame { Code = "CLV-P-HAAUJ", Name = "アイスクライマー" , Size = 812372 },
- new NesDefaultGame { Code = "CLV-P-HAAWJ", Name = "マリオブラザーズ" , Size = 1038275 },
- new NesDefaultGame { Code = "CLV-P-HAAXJ", Name = "ドクターマリオ" , Size = 1083234 },
- new NesDefaultGame { Code = "CLV-P-HABBJ", Name = "ロックマン®2 Dr.ワイリーの謎" , Size = 592425 },
- new NesDefaultGame { Code = "CLV-P-HABCJ", Name = "魔界村®", Size = 456166 },
- new NesDefaultGame { Code = "CLV-P-HABLJ", Name = "ファイナルファンタジー®III" , Size = 830898 },
- new NesDefaultGame { Code = "CLV-P-HABMJ", Name = "パックマン" , Size = 341593 },
- new NesDefaultGame { Code = "CLV-P-HABNJ", Name = "ギャラガ", Size = 345552 },
- new NesDefaultGame { Code = "CLV-P-HABQJ", Name = "悪魔城ドラキュラ" , Size = 428522 },
- new NesDefaultGame { Code = "CLV-P-HABRJ", Name = "グラディウス", Size = 393055 },
- new NesDefaultGame { Code = "CLV-P-HABVJ", Name = "スーパー魂斗羅" , Size = 569537 },
- new NesDefaultGame { Code = "CLV-P-HACAJ", Name = "イー・アル・カンフー", Size = 336353 },
- new NesDefaultGame { Code = "CLV-P-HACBJ", Name = "忍者龍剣伝" , Size = 578623 },
- new NesDefaultGame { Code = "CLV-P-HACCJ", Name = "ソロモンの鍵" , Size = 387084 },
- new NesDefaultGame { Code = "CLV-P-HACEJ", Name = "つっぱり大相撲", Size = 392595 },
- new NesDefaultGame { Code = "CLV-P-HACHJ", Name = "ダブルドラゴンⅡ The Revenge", Size = 579757 },
- new NesDefaultGame { Code = "CLV-P-HACJJ", Name = "ダウンタウン熱血物語" , Size = 588367 },
- new NesDefaultGame { Code = "CLV-P-HACLJ", Name = "ダウンタウン熱血行進曲 それゆけ大運動会", Size = 587083 },
- new NesDefaultGame { Code = "CLV-P-HACPJ", Name = "アトランチスの謎", Size = 376213 }
- };
-
- public MainForm()
- {
- InitializeComponent();
- FormInitialize();
- Clovershell = new ClovershellConnection() { AutoReconnect = true, Enabled = true };
- Clovershell.OnConnected += Clovershell_OnConnected;
-
- ftpServer = new mooftpserv.Server();
- ftpServer.AuthHandler = new mooftpserv.NesMiniAuthHandler();
- ftpServer.FileSystemHandler = new mooftpserv.NesMiniFileSystemHandler(Clovershell);
- ftpServer.LogHandler = new mooftpserv.DebugLogHandler();
- ftpServer.LocalPort = 1021;
-
- if (ConfigIni.FtpServer)
- FTPToolStripMenuItem_Click(null, null);
- if (ConfigIni.TelnetServer)
- Clovershell.ShellEnabled = shellToolStripMenuItem.Checked = true;
- }
-
- void FormInitialize()
- {
- try
- {
- KernelDump = Path.Combine(Path.Combine(Program.BaseDirectoryExternal, "dump"), "kernel.img");
- InternalMods = from m in Directory.GetFiles(Path.Combine(Program.BaseDirectoryInternal, "mods/hmods")) select Path.GetFileNameWithoutExtension(m);
- LoadGames();
- LoadHidden();
- LoadPresets();
- LoadLanguages();
- var version = Assembly.GetExecutingAssembly().GetName().Version;
- Text = string.Format("hakchi2 - v{0}.{1:D2}{2}", version.Major, version.Build, (version.Revision < 10) ?
- ("rc" + version.Revision.ToString()) : (version.Revision > 20 ? ((char)('a' + (version.Revision - 20) / 10)).ToString() : ""))
-#if DEBUG
- + " (debug version"
-#if VERY_DEBUG
- + ", very verbose mode"
-#endif
- + ")"
-#endif
-;
- // Some settnigs
- useExtendedFontToolStripMenuItem.Checked = ConfigIni.UseFont;
- epilepsyProtectionToolStripMenuItem.Checked = ConfigIni.AntiArmetLevel > 0;
- selectButtonCombinationToolStripMenuItem.Enabled = resetUsingCombinationOfButtonsToolStripMenuItem.Checked = ConfigIni.ResetHack;
- enableAutofireToolStripMenuItem.Checked = ConfigIni.AutofireHack;
- useXYOnClassicControllerAsAutofireABToolStripMenuItem.Checked = ConfigIni.AutofireXYHack;
- nESMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == 0;
- famicomMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == 1;
- upABStartOnSecondControllerToolStripMenuItem.Checked = ConfigIni.FcStart;
- compressGamesIfPossibleToolStripMenuItem.Checked = ConfigIni.Compress;
-
- disablePagefoldersToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 0;
- automaticToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 2;
- automaticOriginalToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 3;
- pagesToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 4;
- pagesOriginalToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 5;
- foldersToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 6;
- foldersOriginalToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 7;
- foldersSplitByFirstLetterToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 8;
- foldersSplitByFirstLetterOriginalToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 9;
- customToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 99;
-
- max20toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 20;
- max25toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 25;
- max30toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 30;
- max35toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 35;
- max40toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 40;
- max45toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 45;
- max50toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 50;
- max60toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 60;
- max70toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 70;
- max80toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 80;
- max90toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 90;
- max100toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 100;
-
- // Little tweak for easy translation
- var tbl = textBoxName.Left;
- textBoxName.Left = labelName.Left + labelName.Width;
- textBoxName.Width -= textBoxName.Left - tbl;
- maskedTextBoxReleaseDate.Left = label1.Left + label1.Width + 3;
- tbl = textBoxPublisher.Left;
- textBoxPublisher.Left = label2.Left + label2.Width;
- textBoxPublisher.Width -= textBoxPublisher.Left - tbl;
-
- // Tweeks for message boxes
- MessageBoxManager.Yes = MessageBoxManager.Retry = Resources.Yes;
- MessageBoxManager.No = MessageBoxManager.Ignore = Resources.No;
- MessageBoxManager.Cancel = Resources.NoForAll;
- MessageBoxManager.Abort = Resources.YesForAll;
-
- var extensions = new List<string>() { "*.new", "*.unf", "*.unif", ".*fds", "*.desktop", "*.zip", "*.7z", "*.rar" };
- foreach (var app in AppTypeCollection.ApplicationTypes)
- foreach (var ext in app.Extensions)
- if (!extensions.Contains("*" + ext))
- extensions.Add("*" + ext);
- openFileDialogNes.Filter = Resources.GamesAndApps + "|" + string.Join(";", extensions.ToArray()) + "|" + Resources.AllFiles + "|*.*";
-
- // Loading games database in background
- new Thread(NesGame.LoadCache).Start();
- // Recalculate games in background
- new Thread(RecalculateSelectedGamesThread).Start();
-
- openFTPInExplorerToolStripMenuItem.Enabled = FTPToolStripMenuItem.Checked = ConfigIni.FtpServer;
- openTelnetToolStripMenuItem.Enabled = shellToolStripMenuItem.Checked = ConfigIni.TelnetServer;
- }
- catch (Exception ex)
- {
- Debug.WriteLine(ex.Message + ex.StackTrace);
- MessageBox.Show(this, "Critical error: " + ex.Message + ex.StackTrace, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
-
- void Clovershell_OnConnected()
- {
- try
- {
- ConfigIni.CustomFlashed = true; // Just in case of new installation
- // Requesting autoshutdown state
- var autoshutdown = Clovershell.ExecuteSimple("cat /var/lib/clover/profiles/0/shutdown.txt");
- // Disable automatic shutdown
- if (autoshutdown != "0")
- Clovershell.ExecuteSimple("echo -n 0 > /var/lib/clover/profiles/0/shutdown.txt");
- // Setting actual time for file transfer operations
- Clovershell.ExecuteSimple(string.Format("date -s \"{0:yyyy-MM-dd HH:mm:ss}\"", DateTime.UtcNow));
- // Restoring automatic shutdown
- if (autoshutdown != "0")
- Clovershell.ExecuteSimple(string.Format("echo -n {0} > /var/lib/clover/profiles/0/shutdown.txt", autoshutdown));
- var customFirmware = Clovershell.ExecuteSimple("[ -d /var/lib/hakchi/firmware/ ] && [ -f /var/lib/hakchi/firmware/*.hsqs ] && echo YES || echo NO");
- if (customFirmware == "NO")
- {
- var region = Clovershell.ExecuteSimple("cat /etc/clover/REGION", 500, true);
- Debug.WriteLine(string.Format("Detected region: {0}", region));
- if (region == "JPN")
- Invoke(new Action(delegate
- {
- famicomMiniToolStripMenuItem.PerformClick();
- }));
- if (region == "EUR_USA")
- Invoke(new Action(delegate
- {
- nESMiniToolStripMenuItem.PerformClick();
- }));
- }
- WorkerForm.GetMemoryStats();
- new Thread(RecalculateSelectedGamesThread).Start();
- }
- catch (Exception ex)
- {
- Debug.WriteLine(ex.Message + ex.StackTrace);
- }
- }
-
- public void LoadGames()
- {
- Debug.WriteLine("Loading games");
- var selected = ConfigIni.SelectedGames.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
- Directory.CreateDirectory(NesMiniApplication.GamesDirectory);
- var gameDirs = Directory.GetDirectories(NesMiniApplication.GamesDirectory);
- var games = new List<NesMiniApplication>();
- foreach (var gameDir in gameDirs)
- {
- try
- {
- // Removing empty directories without errors
- try
- {
- var game = NesMiniApplication.FromDirectory(gameDir);
- games.Add(game);
- }
- catch (FileNotFoundException ex) // Remove bad directories if any
- {
- Debug.WriteLine(ex.Message + ex.StackTrace);
- Directory.Delete(gameDir, true);
- }
- }
- catch (Exception ex)
- {
- Debug.WriteLine(ex.Message + ex.StackTrace);
- MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
- continue;
- }
- }
-
- var gamesSorted = games.OrderBy(o => o.Name);
- checkedListBoxGames.Items.Clear();
- checkedListBoxGames.Items.Add(Resources.Default30games, selected.Contains("default"));
- foreach (var game in gamesSorted)
- {
- checkedListBoxGames.Items.Add(game, selected.Contains(game.Code));
- }
- RecalculateSelectedGames();
- ShowSelected();
- }
-
- public void ShowSelected()
- {
- var selected = checkedListBoxGames.SelectedItem;
- if (selected == null)
- {
- groupBoxDefaultGames.Visible = false;
- groupBoxOptions.Visible = true;
- groupBoxOptions.Enabled = false;
- labelID.Text = "ID: ";
- textBoxName.Text = "";
- radioButtonOne.Checked = true;
- radioButtonTwo.Checked = false;
- radioButtonTwoSim.Checked = false;
- maskedTextBoxReleaseDate.Text = "";
- textBoxPublisher.Text = "";
- textBoxArguments.Text = "";
- pictureBoxArt.Image = null;
- }
- else if (!(selected is NesMiniApplication))
- {
- groupBoxDefaultGames.Visible = true;
- groupBoxOptions.Visible = false;
- groupBoxDefaultGames.Enabled = checkedListBoxGames.CheckedIndices.Contains(0);
- }
- else
- {
- var app = selected as NesMiniApplication;
- groupBoxDefaultGames.Visible = false;
- groupBoxOptions.Visible = true;
- labelID.Text = "ID: " + app.Code;
- textBoxName.Text = app.Name;
- if (app.Simultaneous && app.Players == 2)
- radioButtonTwoSim.Checked = true;
- else if (app.Players == 2)
- radioButtonTwo.Checked = true;
- else
- radioButtonOne.Checked = true;
- maskedTextBoxReleaseDate.Text = app.ReleaseDate;
- textBoxPublisher.Text = app.Publisher;
- if (app is NesGame)
- textBoxArguments.Text = (app as NesGame).Args;
- else if (app is FdsGame)
- textBoxArguments.Text = (app as FdsGame).Args;
- else
- textBoxArguments.Text = app.Command;
- if (File.Exists(app.IconPath))
- pictureBoxArt.Image = NesMiniApplication.LoadBitmap(app.IconPath);
- else
- pictureBoxArt.Image = null;
- buttonShowGameGenieDatabase.Enabled = textBoxGameGenie.Enabled = app is NesGame;
- textBoxGameGenie.Text = (app is NesGame) ? (app as NesGame).GameGenie : "";
- groupBoxOptions.Enabled = true;
- }
- }
-
- void LoadHidden()
- {
- checkedListBoxDefaultGames.Items.Clear();
- var hidden = ConfigIni.HiddenGames.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
- foreach (var game in new List<NesDefaultGame>(ConfigIni.ConsoleType == 0 ? defaultNesGames : defaultFamicomGames).OrderBy(o => o.Name))
- checkedListBoxDefaultGames.Items.Add(game, !hidden.Contains(game.Code));
- }
-
- void LoadPresets()
- {
- while (presetsToolStripMenuItem.DropDownItems.Count > 3)
- presetsToolStripMenuItem.DropDownItems.RemoveAt(0);
- deletePresetToolStripMenuItem.Enabled = false;
- deletePresetToolStripMenuItem.DropDownItems.Clear();
- int i = 0;
- foreach (var preset in ConfigIni.Presets.Keys.OrderBy(o => o))
- {
- presetsToolStripMenuItem.DropDownItems.Insert(i, new ToolStripMenuItem(preset, null,
- delegate(object sender, EventArgs e)
- {
- var cols = ConfigIni.Presets[preset].Split('|');
- ConfigIni.SelectedGames = cols[0];
- ConfigIni.HiddenGames = cols[1];
- var selected = ConfigIni.SelectedGames.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
- var hide = ConfigIni.HiddenGames.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
- checkedListBoxGames.SetItemChecked(0, selected.Contains("default"));
- for (int j = 1; j < checkedListBoxGames.Items.Count; j++)
- checkedListBoxGames.SetItemChecked(j,
- selected.Contains((checkedListBoxGames.Items[j] as NesMiniApplication).Code));
- for (int j = 0; j < checkedListBoxDefaultGames.Items.Count; j++)
- checkedListBoxDefaultGames.SetItemChecked(j,
- !hide.Contains(((NesDefaultGame)checkedListBoxDefaultGames.Items[j]).Code));
- }));
- deletePresetToolStripMenuItem.DropDownItems.Insert(i, new ToolStripMenuItem(preset, null,
- delegate(object sender, EventArgs e)
- {
- if (MessageBox.Show(this, string.Format(Resources.DeletePreset, preset), Resources.AreYouSure, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
- == DialogResult.Yes)
- {
- ConfigIni.Presets.Remove(preset);
- LoadPresets();
- }
- }));
- deletePresetToolStripMenuItem.Enabled = true;
- i++;
- }
- }
-
- void LoadLanguages()
- {
- var languages = new List<string>(Directory.GetDirectories(Path.Combine(Program.BaseDirectoryInternal, "languages")));
- ResourceManager rm = Resources.ResourceManager;
- languages.Add("en-US"); // default language
- var langCodes = new Dictionary<string, string>();
- foreach (var language in languages)
- {
- var code = Path.GetFileName(language);
- langCodes[new CultureInfo(code).DisplayName] = code;
- }
- ToolStripMenuItem english = null;
- bool found = false;
- foreach (var language in langCodes.Keys.OrderBy<string, string>(o => o))
- {
- var item = new ToolStripMenuItem();
- var displayName = Regex.Replace(language, @" \(.+\)", "");
- if (langCodes.Keys.Count(o => Regex.Replace(o, @" \(.+\)", "") == displayName) == 1)
- item.Text = displayName;
- else
- item.Text = language;
- var country = langCodes[language];
- if (country.Length > 2) country = country.Substring(country.Length - 2).ToLower();
- item.Image = (Image)rm.GetObject(country);
- item.ImageScaling = ToolStripItemImageScaling.None;
- item.Click += delegate(object sender, EventArgs e)
- {
- ConfigIni.Language = langCodes[language];
- SaveConfig();
- Thread.CurrentThread.CurrentUICulture = new CultureInfo(langCodes[language]);
- this.Controls.Clear();
- this.InitializeComponent();
- FormInitialize();
- this.Invalidate(true);
- };
- item.Checked = Thread.CurrentThread.CurrentUICulture.Name == langCodes[language];
- found |= item.Checked;
- if (langCodes[language] == "en-US")
- english = item;
- languageToolStripMenuItem.DropDownItems.Add(item);
- }
- if (!found)
- english.Checked = true;
- }
-
- void AddPreset(object sender, EventArgs e)
- {
- var form = new StringInputForm();
- form.Text = Resources.NewPreset;
- form.labelComments.Text = Resources.InputPreset;
- if (form.ShowDialog() == DialogResult.OK)
- {
- var name = form.textBox.Text.Replace("=", " ");
- if (!string.IsNullOrEmpty(name))
- {
- SaveSelectedGames();
- ConfigIni.Presets[name] = ConfigIni.SelectedGames + "|" + ConfigIni.HiddenGames;
- LoadPresets();
- }
- }
- }
-
- private void checkedListBoxGames_SelectedIndexChanged(object sender, EventArgs e)
- {
- ShowSelected();
- }
-
- void SetImageForSelectedGame(string fileName)
- {
- var selected = checkedListBoxGames.SelectedItem;
- if (selected == null || !(selected is NesMiniApplication)) return;
- var game = (selected as NesMiniApplication);
- game.Image = NesMiniApplication.LoadBitmap(fileName);
- ShowSelected();
- timerCalculateGames.Enabled = true;
- }
-
- private void buttonBrowseImage_Click(object sender, EventArgs e)
- {
- openFileDialogImage.Filter = Resources.Images + " (*.bmp;*.png;*.jpg;*.jpeg;*.gif)|*.bmp;*.png;*.jpg;*.jpeg;*.gif|" + Resources.AllFiles + "|*.*";
- if (openFileDialogImage.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- SetImageForSelectedGame(openFileDialogImage.FileName);
- }
- }
-
- private void buttonGoogle_Click(object sender, EventArgs e)
- {
- var selected = checkedListBoxGames.SelectedItem;
- if (selected == null || !(selected is NesMiniApplication)) return;
- var game = (selected as NesMiniApplication);
- var googler = new ImageGooglerForm(game);
- if (googler.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- game.Image = googler.Result;
- ShowSelected();
- timerCalculateGames.Enabled = true;
- }
- }
-
- private void textBoxName_TextChanged(object sender, EventArgs e)
- {
- var selected = checkedListBoxGames.SelectedItem;
- if (selected == null || !(selected is NesMiniApplication)) return;
- var game = (selected as NesMiniApplication);
- game.Name = textBoxName.Text;
- }
-
- private void radioButtonOne_CheckedChanged(object sender, EventArgs e)
- {
- var selected = checkedListBoxGames.SelectedItem;
- if (selected == null || !(selected is NesMiniApplication)) return;
- var game = (selected as NesMiniApplication);
- game.Players = (byte)(radioButtonOne.Checked ? 1 : 2);
- game.Simultaneous = radioButtonTwoSim.Checked;
- }
-
- private void textBoxPublisher_TextChanged(object sender, EventArgs e)
- {
- var selected = checkedListBoxGames.SelectedItem;
- if (selected == null || !(selected is NesMiniApplication)) return;
- var game = (selected as NesMiniApplication);
- game.Publisher = textBoxPublisher.Text.ToUpper();
- }
-
- private void textBoxArguments_TextChanged(object sender, EventArgs e)
- {
- var selected = checkedListBoxGames.SelectedItem;
- if (selected == null || !(selected is NesMiniApplication)) return;
- var game = (selected as NesMiniApplication);
- if (game is NesGame)
- (game as NesGame).Args = textBoxArguments.Text;
- else if (game is FdsGame)
- (game as FdsGame).Args = textBoxArguments.Text;
- else
- game.Command = textBoxArguments.Text;
- }
-
- private void maskedTextBoxReleaseDate_TextChanged(object sender, EventArgs e)
- {
- var selected = checkedListBoxGames.SelectedItem;
- if (selected == null || !(selected is NesMiniApplication)) return;
- var game = (selected as NesMiniApplication);
- game.ReleaseDate = maskedTextBoxReleaseDate.Text;
- }
-
- private void textBoxGameGenie_TextChanged(object sender, EventArgs e)
- {
- var selected = checkedListBoxGames.SelectedItem;
- if (selected == null || !(selected is NesGame)) return;
- var game = (selected as NesGame);
- game.GameGenie = textBoxGameGenie.Text;
- }
-
- private void SaveSelectedGames()
- {
- var selected = new List<string>();
- foreach (var game in checkedListBoxGames.CheckedItems)
- {
- if (game is NesMiniApplication)
- selected.Add((game as NesMiniApplication).Code);
- else
- selected.Add("default");
- }
- ConfigIni.SelectedGames = string.Join(";", selected.ToArray());
- selected.Clear();
- foreach (NesDefaultGame game in checkedListBoxDefaultGames.Items)
- selected.Add(game.Code);
- foreach (NesDefaultGame game in checkedListBoxDefaultGames.CheckedItems)
- selected.Remove(game.Code);
- ConfigIni.HiddenGames = string.Join(";", selected.ToArray());
- }
-
- private void SaveConfig()
- {
- SaveSelectedGames();
- ConfigIni.Save();
- for (int i = 0; i < checkedListBoxGames.Items.Count; i++)
- {
- var game = checkedListBoxGames.Items[i];
- try
- {
- if (game is NesMiniApplication)
- {
- // Maybe type was changed? Need to reload games
- if ((game as NesMiniApplication).Save())
- checkedListBoxGames.Items[i] = NesMiniApplication.FromDirectory((game as NesMiniApplication).GamePath);
- }
- }
- catch (Exception ex)
- {
- Debug.WriteLine(ex.Message + ex.StackTrace);
- MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
- }
-
- private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
- {
- Debug.WriteLine("Closing main form");
- SaveConfig();
- ftpServer.Stop();
- Clovershell.Dispose();
- }
- private void MainForm_FormClosed(object sender, FormClosedEventArgs e)
- {
- Process.GetCurrentProcess().Kill(); // Suicide! Just easy and dirty way to kill all threads.
- }
-
-
- struct CountResult
- {
- public int Count;
- public long Size;
- }
- void RecalculateSelectedGamesThread()
- {
- try
- {
- var stats = RecalculateSelectedGames();
- showStats(stats);
- }
- catch
- {
- timerCalculateGames.Enabled = false;
- timerCalculateGames.Enabled = true;
- }
- }
- CountResult RecalculateSelectedGames()
- {
- CountResult stats;
- stats.Count = 0;
- stats.Size = 0;
- foreach (var game in checkedListBoxGames.CheckedItems)
- {
- if (game is NesMiniApplication)
- {
- stats.Count++;
- stats.Size += (game as NesMiniApplication).Size();
- }
- else
- {
- stats.Count += checkedListBoxDefaultGames.CheckedItems.Count;
- foreach (NesDefaultGame originalGame in checkedListBoxDefaultGames.CheckedItems)
- stats.Size += originalGame.Size;
- }
- }
- return stats;
- }
- void showStats(CountResult stats)
- {
- try
- {
- if (InvokeRequired)
- {
- Invoke(new Action<CountResult>(showStats), new object[] { stats });
- return;
- }
- var maxGamesSize = DefaultMaxGamesSize * 1024 * 1024;
- if (WorkerForm.NandCTotal > 0)
- maxGamesSize = (WorkerForm.NandCFree + WorkerForm.WritedGamesSize) - WorkerForm.ReservedMemory * 1024 * 1024;
- toolStripStatusLabelSelected.Text = stats.Count + " " + Resources.GamesSelected;
- toolStripStatusLabelSize.Text = string.Format("{0:F1}MB / {1:F1}MB", stats.Size / 1024.0 / 1024.0, maxGamesSize / 1024.0 / 1024.0);
- toolStripProgressBar.Maximum = (int)maxGamesSize;
- toolStripProgressBar.Value = Math.Min((int)stats.Size, toolStripProgressBar.Maximum);
- toolStripStatusLabelSize.ForeColor =
- (toolStripProgressBar.Value < toolStripProgressBar.Maximum) ?
- SystemColors.ControlText :
- Color.Red;
- }
- catch { }
- }
-
- private void buttonAddGames_Click(object sender, EventArgs e)
- {
- if (openFileDialogNes.ShowDialog() == DialogResult.OK)
- {
- AddGames(openFileDialogNes.FileNames);
- }
- }
-
- private void checkedListBoxGames_MouseDown(object sender, MouseEventArgs e)
- {
- if (e.Button == System.Windows.Forms.MouseButtons.Right)
- {
- var i = checkedListBoxGames.IndexFromPoint(e.X, e.Y);
- selectAllToolStripMenuItem.Tag = unselectAllToolStripMenuItem.Tag = 0;
- deleteGameToolStripMenuItem.Tag = i;
- deleteGameToolStripMenuItem.Enabled = i > 0;
- contextMenuStrip.Show(sender as Control, e.X, e.Y);
- }
- }
-
- private void checkedListBoxDefaultGames_MouseDown(object sender, MouseEventArgs e)
- {
- if (e.Button == System.Windows.Forms.MouseButtons.Right)
- {
- var i = checkedListBoxGames.IndexFromPoint(e.X, e.Y);
- selectAllToolStripMenuItem.Tag = unselectAllToolStripMenuItem.Tag = 1;
- deleteGameToolStripMenuItem.Enabled = false;
- contextMenuStrip.Show(sender as Control, e.X, e.Y);
- }
- }
-
- DialogResult RequireKernelDump()
- {
- if (File.Exists(KernelDump)) return DialogResult.OK; // OK - already dumped
- // Asking user to dump kernel
- if (MessageBox.Show(Resources.NoKernelWarning, Resources.NoKernel, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
- == System.Windows.Forms.DialogResult.Yes)
- {
- if (DoKernelDump())
- return DialogResult.Yes; // Succesfully dumped
- else
- return DialogResult.No; // Not dumped for some other reason
- }
- else return DialogResult.No; // Kernel dump cancelled by user
- }
-
- DialogResult RequirePatchedKernel()
- {
- if (ConfigIni.CustomFlashed) return DialogResult.OK; // OK - already flashed
- var kernelDump = RequireKernelDump(); // We need kernel dump first
- if (kernelDump == System.Windows.Forms.DialogResult.No)
- return DialogResult.No; // Abort if user has not dumped it
- if (MessageBox.Show((kernelDump == DialogResult.Yes ? (Resources.KernelDumped + "\r\n") : "") +
- Resources.CustomWarning, Resources.CustomKernel, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
- == System.Windows.Forms.DialogResult.Yes)
- {
- if (FlashCustomKernel())
- return DialogResult.Yes; // Succesfully flashed
- else
- return DialogResult.No; // Not flashed for some other reason
- }
- else return DialogResult.No;
- }
-
- private void buttonStart_Click(object sender, EventArgs e)
- {
- SaveConfig();
-
- var stats = RecalculateSelectedGames();
- if (stats.Count == 0)
- {
- MessageBox.Show(Resources.SelectAtLeast, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
- return;
- }
- var kernel = RequirePatchedKernel();
- if (kernel == DialogResult.No) return;
- if (kernel == DialogResult.Yes) // Message for new user
- MessageBox.Show(Resources.DoneYouCanUpload + "\r\n" + Resources.PressOkToContinue, Resources.Congratulations, MessageBoxButtons.OK, MessageBoxIcon.Information);
- if (UploadGames())
- {
- MessageBox.Show(Resources.Done, Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- }
-
- bool DoKernelDump()
- {
- var workerForm = new WorkerForm();
- workerForm.Text = Resources.DumpingKernel;
- workerForm.Task = WorkerForm.Tasks.DumpKernel;
- //workerForm.UBootDump = UBootDump;
- workerForm.KernelDump = KernelDump;
- workerForm.Start();
- return workerForm.DialogResult == DialogResult.OK;
- }
-
- bool FlashCustomKernel()
- {
- var workerForm = new WorkerForm();
- workerForm.Text = Resources.FlasingCustom;
- workerForm.Task = WorkerForm.Tasks.FlashKernel;
- workerForm.KernelDump = KernelDump;
- workerForm.Mod = "mod_hakchi";
- workerForm.hmodsInstall = new List<string>(InternalMods);
- workerForm.Config = null;
- workerForm.Games = null;
- workerForm.Start();
- var result = workerForm.DialogResult == DialogResult.OK;
- if (result)
- {
- ConfigIni.CustomFlashed = true;
- ConfigIni.Save();
- }
- return result;
- }
-
- bool UploadGames()
- {
- var workerForm = new WorkerForm();
- workerForm.Text = Resources.UploadingGames;
- workerForm.Task = WorkerForm.Tasks.UploadGames;
- workerForm.KernelDump = KernelDump;
- workerForm.Mod = "mod_hakchi";
- workerForm.Config = ConfigIni.GetConfigDictionary();
- workerForm.Games = new NesMenuCollection();
- bool needOriginal = false;
- foreach (var game in checkedListBoxGames.CheckedItems)
- {
- if (game is NesMiniApplication)
- workerForm.Games.Add(game as NesMiniApplication);
- else
- needOriginal = true;
- }
- for (int i = 0; i < checkedListBoxDefaultGames.Items.Count; i++)
- {
- if (needOriginal && checkedListBoxDefaultGames.CheckedIndices.Contains(i))
- workerForm.Games.Add((NesDefaultGame)checkedListBoxDefaultGames.Items[i]);
- }
-
- workerForm.FoldersMode = ConfigIni.FoldersMode;
- workerForm.MaxGamesPerFolder = ConfigIni.MaxGamesPerFolder;
- workerForm.MainForm = this;
- workerForm.Start();
- return workerForm.DialogResult == DialogResult.OK;
- }
-
- void AddGames(IEnumerable<string> files)
- {
- SaveConfig();
- ICollection<NesMiniApplication> addedApps;
- var workerForm = new WorkerForm();
- workerForm.Text = Resources.LoadingGames;
- workerForm.Task = WorkerForm.Tasks.AddGames;
- workerForm.GamesToAdd = files;
- workerForm.Start();
- addedApps = workerForm.addedApplications;
-
- if (addedApps != null)
- {
- // Add games, only new ones
- var newApps = addedApps.Distinct(new NesMiniApplication.NesMiniAppEqualityComparer());
- var newCodes = from app in newApps select app.Code;
- var oldAppsReplaced = from app in checkedListBoxGames.Items.Cast<object>().ToArray()
- where (app is NesMiniApplication) && newCodes.Contains((app as NesMiniApplication).Code)
- select app;
- foreach (var replaced in oldAppsReplaced)
- checkedListBoxGames.Items.Remove(replaced);
- checkedListBoxGames.Items.AddRange(newApps.ToArray());
- var first = checkedListBoxGames.Items[0];
- bool originalChecked = (checkedListBoxGames.CheckedItems.Contains(first));
- checkedListBoxGames.Items.Remove(first);
- checkedListBoxGames.Sorted = true;
- checkedListBoxGames.Sorted = false;
- checkedListBoxGames.Items.Insert(0, first);
- checkedListBoxGames.SetItemChecked(0, originalChecked);
- }
- else
- {
- // Reload all games (maybe process was terminated?)
- LoadGames();
- }
- if (addedApps != null) // if added only one game select it
- {
- bool first = true;
- foreach (var addedApp in addedApps)
- {
- for (int i = 0; i < checkedListBoxGames.Items.Count; i++)
- if ((checkedListBoxGames.Items[i] is NesMiniApplication) &&
- (checkedListBoxGames.Items[i] as NesMiniApplication).Code == addedApp.Code)
- {
- if (first)
- checkedListBoxGames.SelectedIndex = i;
- first = false;
- checkedListBoxGames.SetItemChecked(i, true);
- break;
- }
- }
- }
- // Schedule recalculation
- timerCalculateGames.Enabled = false;
- timerCalculateGames.Enabled = true;
- }
-
- bool FlashOriginalKernel(bool boot = true)
- {
- var workerForm = new WorkerForm();
- workerForm.Text = Resources.FlasingOriginal;
- workerForm.Task = WorkerForm.Tasks.FlashKernel;
- workerForm.KernelDump = KernelDump;
- workerForm.Mod = null;
- workerForm.Start();
- var result = workerForm.DialogResult == DialogResult.OK;
- if (result)
- {
- ConfigIni.CustomFlashed = false;
- ConfigIni.Save();
- }
- return result;
- }
-
- bool Uninstall()
- {
- var workerForm = new WorkerForm();
- workerForm.Text = Resources.Uninstalling;
- workerForm.Task = WorkerForm.Tasks.Memboot;
- workerForm.KernelDump = KernelDump;
- workerForm.Mod = "mod_uninstall";
- workerForm.Start();
- return workerForm.DialogResult == DialogResult.OK;
- }
-
- bool InstallMods(string[] mods)
- {
- var workerForm = new WorkerForm();
- workerForm.Text = Resources.InstallingMods;
- workerForm.Task = WorkerForm.Tasks.Memboot;
- workerForm.KernelDump = KernelDump;
- workerForm.Mod = "mod_hakchi";
- workerForm.hmodsInstall = new List<string>(mods);
- workerForm.Start();
- return workerForm.DialogResult == DialogResult.OK;
- }
-
- bool UninstallMods(string[] mods)
- {
- var workerForm = new WorkerForm();
- workerForm.Text = Resources.UninstallingMods;
- workerForm.Task = WorkerForm.Tasks.Memboot;
- workerForm.KernelDump = KernelDump;
- workerForm.Mod = "mod_hakchi";
- workerForm.hmodsUninstall = new List<string>(mods);
- workerForm.Start();
- return workerForm.DialogResult == DialogResult.OK;
- }
-
- bool DownloadAllCovers()
- {
- var workerForm = new WorkerForm();
- workerForm.Text = Resources.DownloadAllCoversTitle;
- workerForm.Task = WorkerForm.Tasks.DownloadAllCovers;
- workerForm.Games = new NesMenuCollection();
- foreach (var game in checkedListBoxGames.Items)
- {
- if (game is NesMiniApplication)
- workerForm.Games.Add(game as NesMiniApplication);
- }
- return workerForm.Start() == DialogResult.OK;
- }
-
- private void dumpKernelToolStripMenuItem_Click(object sender, EventArgs e)
- {
- if (File.Exists(KernelDump))
- {
- MessageBox.Show(Resources.ReplaceKernelQ, Resources.Warning, MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return;
- }
- if (MessageBox.Show(Resources.DumpKernelQ, Resources.AreYouSure, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
- == System.Windows.Forms.DialogResult.Yes)
- {
- if (DoKernelDump()) MessageBox.Show(Resources.KernelDumped, Resources.Done, MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- }
-
- private void flashCustomKernelToolStripMenuItem_Click(object sender, EventArgs e)
- {
- if (RequireKernelDump() == DialogResult.No) return;
- if (MessageBox.Show(Resources.CustomKernelQ, Resources.AreYouSure, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
- == System.Windows.Forms.DialogResult.Yes)
- {
- if (FlashCustomKernel()) MessageBox.Show(Resources.DoneYouCanUpload, Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- }
-
- private void flashOriginalKernelToolStripMenuItem_Click(object sender, EventArgs e)
- {
- if (!File.Exists(KernelDump))
- {
- MessageBox.Show(Resources.NoKernelYouNeed, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
- return;
- }
- if (MessageBox.Show(Resources.OriginalKernelQ, Resources.AreYouSure, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
- == System.Windows.Forms.DialogResult.Yes)
- {
- if (FlashOriginalKernel()) MessageBox.Show(Resources.Done, Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- }
-
- private void uninstallToolStripMenuItem_Click(object sender, EventArgs e)
- {
- if (!File.Exists(KernelDump))
- {
- MessageBox.Show(Resources.NoKernelYouNeed, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
- return;
- }
- if (MessageBox.Show(Resources.UninstallQ1, Resources.AreYouSure, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
- == System.Windows.Forms.DialogResult.Yes)
- {
- if (Uninstall())
- {
- if (ConfigIni.CustomFlashed && MessageBox.Show(Resources.UninstallQ2, Resources.AreYouSure, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
- == System.Windows.Forms.DialogResult.Yes)
- FlashOriginalKernel();
- MessageBox.Show(Resources.UninstallFactoryNote, Resources.Done, MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- }
- }
-
- private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
- {
- var about = new AboutBox();
- about.Text = aboutToolStripMenuItem.Text.Replace("&", "");
- about.ShowDialog();
- }
-
- private void gitHubPageWithActualReleasesToolStripMenuItem_Click(object sender, EventArgs e)
- {
- Process.Start("https://github.com/ClusterM/hakchi2/releases");
- }
-
- private void fAQToolStripMenuItem_Click(object sender, EventArgs e)
- {
- Process.Start("https://github.com/ClusterM/hakchi2/wiki/FAQ");
- }
-
- private void exitToolStripMenuItem_Click(object sender, EventArgs e)
- {
- Close();
- }
-
- private void useExtendedFontToolStripMenuItem_Click(object sender, EventArgs e)
- {
- ConfigIni.UseFont = useExtendedFontToolStripMenuItem.Checked;
- }
-
- private void ToolStripMenuItemArmet_Click(object sender, EventArgs e)
- {
- ConfigIni.AntiArmetLevel = epilepsyProtectionToolStripMenuItem.Checked ? (byte)2 : (byte)0;
- }
-
- private void cloverconHackToolStripMenuItem_Click(object sender, EventArgs e)
- {
- selectButtonCombinationToolStripMenuItem.Enabled =
- ConfigIni.ResetHack = resetUsingCombinationOfButtonsToolStripMenuItem.Checked;
- }
-
- private void upABStartOnSecondControllerToolStripMenuItem_Click(object sender, EventArgs e)
- {
- ConfigIni.FcStart = upABStartOnSecondControllerToolStripMenuItem.Checked;
- }
-
- private void selectButtonCombinationToolStripMenuItem_Click(object sender, EventArgs e)
- {
- var form = new SelectButtonsForm(ConfigIni.ResetCombination);
- if (form.ShowDialog() == DialogResult.OK)
- ConfigIni.ResetCombination = form.SelectedButtons;
- }
-
- private void nESMiniToolStripMenuItem_Click(object sender, EventArgs e)
- {
- if (nESMiniToolStripMenuItem.Checked) return;
- ConfigIni.ConsoleType = 0;
- nESMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == 0;
- famicomMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == 1;
- ConfigIni.HiddenGames = "";
- LoadHidden();
- }
-
- private void famicomMiniToolStripMenuItem_Click(object sender, EventArgs e)
- {
- if (famicomMiniToolStripMenuItem.Checked) return;
- ConfigIni.ConsoleType = 1;
- nESMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == 0;
- famicomMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == 1;
- ConfigIni.HiddenGames = "";
- LoadHidden();
- }
-
- private void enableAutofireToolStripMenuItem_Click(object sender, EventArgs e)
- {
- ConfigIni.AutofireHack = enableAutofireToolStripMenuItem.Checked;
- if (ConfigIni.AutofireHack)
- MessageBox.Show(this, Resources.AutofireHelp1, enableAutofireToolStripMenuItem.Text,
- MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
-
- private void useXYOnClassicControllerAsAutofireABToolStripMenuItem_Click(object sender, EventArgs e)
- {
- ConfigIni.AutofireXYHack = useXYOnClassicControllerAsAutofireABToolStripMenuItem.Checked;
- }
-
- private void globalCommandLineArgumentsexpertsOnluToolStripMenuItem_Click(object sender, EventArgs e)
- {
- var form = new StringInputForm();
- form.Text = Resources.ExtraArgsTitle;
- form.labelComments.Text = Resources.ExtraArgsInfo;
- form.textBox.Text = ConfigIni.ExtraCommandLineArguments;
- if (form.ShowDialog() == DialogResult.OK)
- ConfigIni.ExtraCommandLineArguments = form.textBox.Text;
- }
-
- private void timerCalculateGames_Tick(object sender, EventArgs e)
- {
- new Thread(RecalculateSelectedGamesThread).Start(); // Calculate it in background
- timerCalculateGames.Enabled = false; // We don't need to count games repetedly
- }
-
- private void checkedListBoxGames_ItemCheck(object sender, ItemCheckEventArgs e)
- {
- if (e.Index == 0)
- groupBoxDefaultGames.Enabled = e.NewValue == CheckState.Checked;
- // Schedule recalculation
- timerCalculateGames.Enabled = false;
- timerCalculateGames.Enabled = true;
- }
-
- private void checkedListBoxDefaultGames_ItemCheck(object sender, ItemCheckEventArgs e)
- {
- // Schedule recalculation
- timerCalculateGames.Enabled = false;
- timerCalculateGames.Enabled = true;
- }
-
- private void MainForm_Shown(object sender, EventArgs e)
- {
- if (ConfigIni.FirstRun && !File.Exists(KernelDump))
- {
- MessageBox.Show(this, Resources.FirstRun + "\r\n\r\n" + Resources.Donate, Resources.Hello, MessageBoxButtons.OK, MessageBoxIcon.Information);
- ConfigIni.FirstRun = false;
- ConfigIni.Save();
- }
- }
-
- private void deleteGameToolStripMenuItem_Click(object sender, EventArgs e)
- {
- deleteGame((int)(sender as ToolStripMenuItem).Tag);
- }
-
- private void deleteGame(int pos)
- {
- try
- {
- var game = checkedListBoxGames.Items[pos] as NesMiniApplication;
- if (MessageBox.Show(this, string.Format(Resources.DeleteGame, game.Name), Resources.AreYouSure, MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == System.Windows.Forms.DialogResult.Yes)
- {
- Directory.Delete(game.GamePath, true);
- checkedListBoxGames.Items.RemoveAt(pos);
- }
- }
- catch (Exception ex)
- {
- Debug.WriteLine(ex.Message + ex.StackTrace);
- MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- // Schedule recalculation
- timerCalculateGames.Enabled = false;
- timerCalculateGames.Enabled = true;
- }
-
- private void selectAllToolStripMenuItem_Click(object sender, EventArgs e)
- {
- if ((int)(sender as ToolStripMenuItem).Tag == 0)
- for (int i = 0; i < checkedListBoxGames.Items.Count; i++)
- checkedListBoxGames.SetItemChecked(i, true);
- else
- for (int i = 0; i < checkedListBoxDefaultGames.Items.Count; i++)
- checkedListBoxDefaultGames.SetItemChecked(i, true);
- }
-
- private void unselectAllToolStripMenuItem_Click(object sender, EventArgs e)
- {
- if ((int)(sender as ToolStripMenuItem).Tag == 0)
- for (int i = 0; i < checkedListBoxGames.Items.Count; i++)
- checkedListBoxGames.SetItemChecked(i, false);
- else for (int i = 0; i < checkedListBoxDefaultGames.Items.Count; i++)
- checkedListBoxDefaultGames.SetItemChecked(i, false);
- }
-
- private void checkedListBoxGames_DragEnter(object sender, DragEventArgs e)
- {
- if (e.Data.GetDataPresent(DataFormats.FileDrop))
- e.Effect = DragDropEffects.Copy;
- }
-
- private void checkedListBoxGames_DragDrop(object sender, DragEventArgs e)
- {
- var files = (string[])e.Data.GetData(DataFormats.FileDrop);
-
- // Need to determine type of files
- // Maybe it's cover art?
- if (files.Length == 1)
- {
- var ext = Path.GetExtension(files[0]).ToLower();
- if (ext == ".jpg" || ext == ".png")
- {
- SetImageForSelectedGame(files[0]);
- return;
- }
- }
-
- // Maybe it's some mods?
- bool mods = false;
- foreach (var file in files)
- if (Path.GetExtension(file).ToLower() == ".hmod")
- mods = true;
- // Maybe it's some mods in single archive?
- if (files.Length == 1)
- {
- var ext = Path.GetExtension(files[0]).ToLower();
- if (ext == ".7z" || ext == ".zip" || ext == ".rar")
- {
- SevenZipExtractor.SetLibraryPath(Path.Combine(Program.BaseDirectoryInternal, IntPtr.Size == 8 ? @"tools\7z64.dll" : @"tools\7z.dll"));
- using (var szExtractor = new SevenZipExtractor(files[0]))
- {
- foreach (var f in szExtractor.ArchiveFileNames)
- if (Path.GetExtension(f).ToLower() == ".hmod")
- mods = true;
- }
- }
- }
- if (mods)
- {
- installModules(files);
- return;
- }
-
- // All other cases - games or apps
- var allFilesToAdd = new List<string>();
- foreach (var file in files)
- if (Directory.Exists(file))
- allFilesToAdd.AddRange(Directory.GetFiles(file, "*.*", SearchOption.AllDirectories));
- else if (File.Exists(file))
- allFilesToAdd.Add(file);
- if (allFilesToAdd.Count > 0)
- AddGames(allFilesToAdd);
- }
-
- private void searchToolStripMenuItem_Click(object sender, EventArgs e)
- {
- var searchForm = new SearchForm(this);
- searchForm.Left = this.Left + 200;
- searchForm.Top = this.Top + 300;
- searchForm.Show();
- }
-
- private void downloadCoversForAllGamesToolStripMenuItem_Click(object sender, EventArgs e)
- {
- if (DownloadAllCovers())
- MessageBox.Show(this, Resources.Done, Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
- ShowSelected();
- timerCalculateGames.Enabled = true;
- }
-
- private void checkedListBoxGames_KeyDown(object sender, KeyEventArgs e)
- {
- if (e.KeyCode == Keys.Delete && checkedListBoxGames.SelectedIndex > 0)
- deleteGame(checkedListBoxGames.SelectedIndex);
- }
-
- private void MainForm_KeyDown(object sender, KeyEventArgs e)
- {
- if (e.KeyCode == Keys.F5 && e.Modifiers == Keys.Shift)
- {
- int counter = 0;
- foreach (var g in checkedListBoxGames.Items)
- {
- if (g is NesMiniApplication)
- {
- var game = g as NesMiniApplication;
- if (game is NesGame)
- {
- try
- {
- if ((game as NesGame).TryAutofill(new NesFile((game as NesGame).NesPath).CRC32))
- counter++;
- }
- catch { }
- }
- }
- }
- ShowSelected();
- MessageBox.Show(this, string.Format(Resources.AutofillResult, counter), Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- }
-
- private void toolStripMenuMaxGamesPerFolder_Click(object sender, EventArgs e)
- {
- ConfigIni.MaxGamesPerFolder = byte.Parse((sender as ToolStripMenuItem).Text);
- max20toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 20;
- max25toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 25;
- max30toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 30;
- max35toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 35;
- max40toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 40;
- max45toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 45;
- max50toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 50;
- max60toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 60;
- max70toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 70;
- max80toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 80;
- max90toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 90;
- max100toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 100;
- }
-
- private void compressGamesIfPossibleToolStripMenuItem_Click(object sender, EventArgs e)
- {
- ConfigIni.Compress = compressGamesIfPossibleToolStripMenuItem.Checked;
- }
-
- private void buttonShowGameGenieDatabase_Click(object sender, EventArgs e)
- {
- if (!(checkedListBoxGames.SelectedItem is NesGame)) return;
- NesGame nesGame = checkedListBoxGames.SelectedItem as NesGame;
- GameGenieCodeForm lFrm = new GameGenieCodeForm(nesGame);
- if (lFrm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- textBoxGameGenie.Text = nesGame.GameGenie;
- }
-
- private void pagesModefoldersToolStripMenuItem_Click(object sender, EventArgs e)
- {
- ConfigIni.FoldersMode = (NesMenuCollection.SplitStyle)byte.Parse((sender as ToolStripMenuItem).Tag.ToString());
- disablePagefoldersToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 0;
- automaticToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 2;
- automaticOriginalToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 3;
- pagesToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 4;
- pagesOriginalToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 5;
- foldersToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 6;
- foldersOriginalToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 7;
- foldersSplitByFirstLetterToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 8;
- foldersSplitByFirstLetterOriginalToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 9;
- customToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 99;
- }
-
- private void installModulesToolStripMenuItem_Click(object sender, EventArgs e)
- {
- installModules();
- }
-
- private void installModules(string[] add = null)
- {
- if (RequireKernelDump() == DialogResult.No) return;
- var form = new SelectModsForm(false, true, add);
- form.Text = Resources.SelectModsInstall;
- if (form.ShowDialog() == DialogResult.OK)
- {
- if (InstallMods(((from m
- in form.checkedListBoxMods.CheckedItems.OfType<object>().ToArray()
- select m.ToString())).ToArray()))
- {
- MessageBox.Show(Resources.Done, Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- }
- }
-
- private void uninstallModulesToolStripMenuItem_Click(object sender, EventArgs e)
- {
- if (RequireKernelDump() == DialogResult.No) return;
- var form = new SelectModsForm(true, false);
- form.Text = Resources.SelectModsUninstall;
- if (form.ShowDialog() == DialogResult.OK)
- {
- if (UninstallMods(((from m
- in form.checkedListBoxMods.CheckedItems.OfType<object>().ToArray()
- select m.ToString())).ToArray()))
- {
- MessageBox.Show(Resources.Done, Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- }
- }
-
- private void timerConnectionCheck_Tick(object sender, EventArgs e)
- {
- toolStripStatusConnectionIcon.Image = Clovershell.IsOnline ? Resources.green : Resources.red;
- toolStripStatusConnectionIcon.ToolTipText = Clovershell.IsOnline ? "Online" : "Offline";
- }
-
- private void saveSettingsToNESMiniNowToolStripMenuItem_Click(object sender, EventArgs e)
- {
- if (RequirePatchedKernel() == DialogResult.No) return;
- try
- {
- if (WaitingClovershellForm.WaitForDevice(this))
- {
- WorkerForm.SyncConfig(ConfigIni.GetConfigDictionary(), true);
- MessageBox.Show(Resources.Done, Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- }
- catch (Exception ex)
- {
- Debug.WriteLine(ex.Message + ex.StackTrace);
- MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
-
- private void saveStateManagerToolStripMenuItem_Click(object sender, EventArgs e)
- {
- if (RequirePatchedKernel() == DialogResult.No) return;
- var gameNames = new Dictionary<string, string>();
- foreach (var game in defaultNesGames)
- gameNames[game.Code] = game.Name;
- foreach (var game in defaultFamicomGames)
- gameNames[game.Code] = game.Name;
- foreach (var game in checkedListBoxGames.Items)
- {
- if (game is NesMiniApplication)
- gameNames[(game as NesMiniApplication).Code] = (game as NesMiniApplication).Name;
- }
- var form = new SaveStateManager(gameNames);
- form.ShowDialog();
- }
-
- private void FTPToolStripMenuItem_Click(object sender, EventArgs e)
- {
- if (FTPToolStripMenuItem.Checked)
- {
- try
- {
- var ftpThread = new Thread(delegate()
- {
- try
- {
- ftpServer.Run();
- }
- catch (ThreadAbortException)
- {
- }
- catch (Exception ex)
- {
- try
- {
- ftpServer.Stop();
- }
- catch { }
- Debug.WriteLine(ex.Message + ex.StackTrace);
- Invoke(new Action(delegate()
- {
- MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
- FTPToolStripMenuItem.Checked = false;
- }));
- }
- });
- ftpThread.Start();
- ConfigIni.FtpServer = true;
- }
- catch (Exception ex)
- {
- Debug.WriteLine(ex.Message + ex.StackTrace);
- MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
- FTPToolStripMenuItem.Checked = false;
- ConfigIni.FtpServer = false;
- }
- }
- else
- {
- ftpServer.Stop();
- ConfigIni.FtpServer = false;
- }
- openFTPInExplorerToolStripMenuItem.Enabled = FTPToolStripMenuItem.Checked;
- }
-
- private void shellToolStripMenuItem_Click(object sender, EventArgs e)
- {
- try
- {
- ConfigIni.TelnetServer = openTelnetToolStripMenuItem.Enabled = Clovershell.ShellEnabled = shellToolStripMenuItem.Checked;
- }
- catch (Exception ex)
- {
- Debug.WriteLine(ex.Message + ex.StackTrace);
- MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
- ConfigIni.TelnetServer = openTelnetToolStripMenuItem.Enabled = shellToolStripMenuItem.Checked = false;
- }
- }
-
- private void openFTPInExplorerToolStripMenuItem_Click(object sender, EventArgs e)
- {
- try
- {
- new Process()
- {
- StartInfo = new ProcessStartInfo()
- {
- FileName = "ftp://root:clover@127.0.0.1:1021/",
- }
- }.Start();
- }
- catch (Exception ex)
- {
- Debug.WriteLine(ex.Message + ex.StackTrace);
- MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
-
- private void openTelnetToolStripMenuItem_Click(object sender, EventArgs e)
- {
- try
- {
- new Process()
- {
- StartInfo = new ProcessStartInfo()
- {
- FileName = "telnet://127.0.0.1:1023",
- }
- }.Start();
- }
- catch (Exception ex)
- {
- Debug.WriteLine(ex.Message + ex.StackTrace);
- MessageBox.Show(this, Resources.NoTelnet, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
-
- private void takeScreenshotToolStripMenuItem_Click(object sender, EventArgs e)
- {
- if (RequirePatchedKernel() == DialogResult.No) return;
- try
- {
- if (WaitingClovershellForm.WaitForDevice(this))
- {
- var screenshot = WorkerForm.TakeScreenshot();
- var screenshotPath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName() + ".png");
- screenshot.Save(screenshotPath, ImageFormat.Png);
- var showProcess = new Process()
- {
- StartInfo = new ProcessStartInfo()
- {
- FileName = screenshotPath
- }
- };
- showProcess.Start();
- new Thread(delegate()
- {
- try
- {
- showProcess.WaitForExit();
- }
- catch { }
- try
- {
- File.Delete(screenshotPath);
- }
- catch { }
- }).Start();
- }
- }
- catch (Exception ex)
- {
- Debug.WriteLine(ex.Message + ex.StackTrace);
- MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
- }
-}
+using com.clusterrr.clovershell;
+using com.clusterrr.Famicom;
+using com.clusterrr.hakchi_gui.Properties;
+using SevenZip;
+using System;
+using System.Collections.Generic;
+using System.Deployment.Application;
+using System.Diagnostics;
+using System.Drawing;
+using System.Drawing.Imaging;
+using System.Globalization;
+using System.IO;
+using System.Linq;
+using System.Reflection;
+using System.Resources;
+using System.Text.RegularExpressions;
+using System.Threading;
+using System.Windows.Forms;
+
+namespace com.clusterrr.hakchi_gui
+{
+ public partial class MainForm : Form
+ {
+ public const long DefaultMaxGamesSize = 300;
+ public static IEnumerable<string> InternalMods;
+ public static ClovershellConnection Clovershell;
+ //readonly string UBootDump;
+ public static string KernelDump;
+ mooftpserv.Server ftpServer;
+
+
+
+ public MainForm()
+ {
+ InitializeComponent();
+ FormInitialize();
+ Clovershell = new ClovershellConnection() { AutoReconnect = true, Enabled = true };
+ Clovershell.OnConnected += Clovershell_OnConnected;
+
+ ftpServer = new mooftpserv.Server();
+ ftpServer.AuthHandler = new mooftpserv.NesMiniAuthHandler();
+ ftpServer.FileSystemHandler = new mooftpserv.NesMiniFileSystemHandler(Clovershell);
+ ftpServer.LogHandler = new mooftpserv.DebugLogHandler();
+ ftpServer.LocalPort = 1021;
+
+ if (ConfigIni.FtpServer)
+ FTPToolStripMenuItem_Click(null, null);
+ if (ConfigIni.TelnetServer)
+ Clovershell.ShellEnabled = shellToolStripMenuItem.Checked = true;
+ }
+
+ void FormInitialize()
+ {
+ try
+ {
+ KernelDump = Path.Combine(Path.Combine(Program.BaseDirectoryExternal, "dump"), "kernel.img");
+ InternalMods = from m in Directory.GetFiles(Path.Combine(Program.BaseDirectoryInternal, "mods/hmods")) select Path.GetFileNameWithoutExtension(m);
+ LoadGames();
+
+ LoadPresets();
+ LoadLanguages();
+ var version = Assembly.GetExecutingAssembly().GetName().Version;
+ Text = string.Format("hakchi2 - v{0}.{1:D2}{2}", version.Major, version.Build, (version.Revision < 10) ?
+ ("rc" + version.Revision.ToString()) : (version.Revision > 20 ? ((char)('a' + (version.Revision - 20) / 10)).ToString() : ""))
+#if DEBUG
+ + " (debug version"
+#if VERY_DEBUG
+ + ", very verbose mode"
+#endif
+ + ")"
+#endif
+;
+ // Some settnigs
+ useExtendedFontToolStripMenuItem.Checked = ConfigIni.UseFont;
+ epilepsyProtectionToolStripMenuItem.Checked = ConfigIni.AntiArmetLevel > 0;
+ selectButtonCombinationToolStripMenuItem.Enabled = resetUsingCombinationOfButtonsToolStripMenuItem.Checked = ConfigIni.ResetHack;
+ enableAutofireToolStripMenuItem.Checked = ConfigIni.AutofireHack;
+ useXYOnClassicControllerAsAutofireABToolStripMenuItem.Checked = ConfigIni.AutofireXYHack;
+ nESMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == 0;
+ famicomMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == 1;
+ upABStartOnSecondControllerToolStripMenuItem.Checked = ConfigIni.FcStart;
+ compressGamesIfPossibleToolStripMenuItem.Checked = ConfigIni.Compress;
+
+ disablePagefoldersToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 0;
+ automaticToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 2;
+ automaticOriginalToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 3;
+ pagesToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 4;
+ pagesOriginalToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 5;
+ foldersToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 6;
+ foldersOriginalToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 7;
+ foldersSplitByFirstLetterToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 8;
+ foldersSplitByFirstLetterOriginalToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 9;
+ customToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 99;
+
+ max20toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 20;
+ max25toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 25;
+ max30toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 30;
+ max35toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 35;
+ max40toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 40;
+ max45toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 45;
+ max50toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 50;
+ max60toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 60;
+ max70toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 70;
+ max80toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 80;
+ max90toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 90;
+ max100toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 100;
+
+ // Little tweak for easy translation
+ var tbl = textBoxName.Left;
+ textBoxName.Left = labelName.Left + labelName.Width;
+ textBoxName.Width -= textBoxName.Left - tbl;
+ maskedTextBoxReleaseDate.Left = label1.Left + label1.Width + 3;
+ tbl = textBoxPublisher.Left;
+ textBoxPublisher.Left = label2.Left + label2.Width;
+ textBoxPublisher.Width -= textBoxPublisher.Left - tbl;
+
+ // Tweeks for message boxes
+ MessageBoxManager.Yes = MessageBoxManager.Retry = Resources.Yes;
+ MessageBoxManager.No = MessageBoxManager.Ignore = Resources.No;
+ MessageBoxManager.Cancel = Resources.NoForAll;
+ MessageBoxManager.Abort = Resources.YesForAll;
+
+ var extensions = new List<string>() { "*.new", "*.unf", "*.unif", ".*fds", "*.desktop", "*.zip", "*.7z", "*.rar" };
+ foreach (var app in AppTypeCollection.ApplicationTypes)
+ foreach (var ext in app.Extensions)
+ if (!extensions.Contains("*" + ext))
+ extensions.Add("*" + ext);
+ openFileDialogNes.Filter = Resources.GamesAndApps + "|" + string.Join(";", extensions.ToArray()) + "|" + Resources.AllFiles + "|*.*";
+
+ // Loading games database in background
+ new Thread(NesGame.LoadCache).Start();
+ // Recalculate games in background
+ new Thread(RecalculateSelectedGamesThread).Start();
+
+ openFTPInExplorerToolStripMenuItem.Enabled = FTPToolStripMenuItem.Checked = ConfigIni.FtpServer;
+ openTelnetToolStripMenuItem.Enabled = shellToolStripMenuItem.Checked = ConfigIni.TelnetServer;
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ MessageBox.Show(this, "Critical error: " + ex.Message + ex.StackTrace, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ void Clovershell_OnConnected()
+ {
+ try
+ {
+ ConfigIni.CustomFlashed = true; // Just in case of new installation
+ // Requesting autoshutdown state
+ var autoshutdown = Clovershell.ExecuteSimple("cat /var/lib/clover/profiles/0/shutdown.txt");
+ // Disable automatic shutdown
+ if (autoshutdown != "0")
+ Clovershell.ExecuteSimple("echo -n 0 > /var/lib/clover/profiles/0/shutdown.txt");
+ // Setting actual time for file transfer operations
+ Clovershell.ExecuteSimple(string.Format("date -s \"{0:yyyy-MM-dd HH:mm:ss}\"", DateTime.UtcNow));
+ // Restoring automatic shutdown
+ if (autoshutdown != "0")
+ Clovershell.ExecuteSimple(string.Format("echo -n {0} > /var/lib/clover/profiles/0/shutdown.txt", autoshutdown));
+ var customFirmware = Clovershell.ExecuteSimple("[ -d /var/lib/hakchi/firmware/ ] && [ -f /var/lib/hakchi/firmware/*.hsqs ] && echo YES || echo NO");
+ if (customFirmware == "NO")
+ {
+ var region = Clovershell.ExecuteSimple("cat /etc/clover/REGION", 500, true);
+ Debug.WriteLine(string.Format("Detected region: {0}", region));
+ if (region == "JPN")
+ Invoke(new Action(delegate
+ {
+ famicomMiniToolStripMenuItem.PerformClick();
+ }));
+ if (region == "EUR_USA")
+ Invoke(new Action(delegate
+ {
+ nESMiniToolStripMenuItem.PerformClick();
+ }));
+ }
+ WorkerForm.GetMemoryStats();
+ new Thread(RecalculateSelectedGamesThread).Start();
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ }
+ }
+
+ public void LoadGames()
+ {
+ /*Make sure its initialised*/
+ Manager.GameManager.GetInstance();
+
+ foreach(var game in Manager.GameManager.GetInstance().getAllGames())
+ {
+ checkedListBoxGames.Items.Add(game, game.Selected);
+ }
+ RecalculateSelectedGames();
+ ShowSelected();
+ }
+
+ public void ShowSelected()
+ {
+ var selected = checkedListBoxGames.SelectedItem;
+ if (selected == null)
+ {
+
+ groupBoxOptions.Visible = true;
+ groupBoxOptions.Enabled = false;
+ labelID.Text = "ID: ";
+ textBoxName.Text = "";
+ radioButtonOne.Checked = true;
+ radioButtonTwo.Checked = false;
+ radioButtonTwoSim.Checked = false;
+ maskedTextBoxReleaseDate.Text = "";
+ textBoxPublisher.Text = "";
+ textBoxArguments.Text = "";
+ pictureBoxArt.Image = null;
+ }
+ else
+ {
+ var app = selected as NesMiniApplication;
+
+ groupBoxOptions.Visible = true;
+ labelID.Text = "ID: " + app.Code;
+ textBoxName.Text = app.Name;
+ if (app.Simultaneous && app.Players == 2)
+ radioButtonTwoSim.Checked = true;
+ else if (app.Players == 2)
+ radioButtonTwo.Checked = true;
+ else
+ radioButtonOne.Checked = true;
+ maskedTextBoxReleaseDate.Text = app.ReleaseDate;
+ textBoxPublisher.Text = app.Publisher;
+ if (app is NesGame)
+ textBoxArguments.Text = (app as NesGame).Args;
+ else if (app is FdsGame)
+ textBoxArguments.Text = (app as FdsGame).Args;
+ else
+ textBoxArguments.Text = app.Command;
+ if (File.Exists(app.IconPath))
+ pictureBoxArt.Image = NesMiniApplication.LoadBitmap(app.IconPath);
+ else
+ pictureBoxArt.Image = null;
+ buttonShowGameGenieDatabase.Enabled = textBoxGameGenie.Enabled = app is NesGame;
+ textBoxGameGenie.Text = (app is NesGame) ? (app as NesGame).GameGenie : "";
+ groupBoxOptions.Enabled = true;
+ }
+ }
+
+
+ void LoadPresets()
+ {
+ while (presetsToolStripMenuItem.DropDownItems.Count > 3)
+ presetsToolStripMenuItem.DropDownItems.RemoveAt(0);
+ deletePresetToolStripMenuItem.Enabled = false;
+ deletePresetToolStripMenuItem.DropDownItems.Clear();
+ int i = 0;
+ foreach (var preset in ConfigIni.Presets.Keys.OrderBy(o => o))
+ {
+ presetsToolStripMenuItem.DropDownItems.Insert(i, new ToolStripMenuItem(preset, null,
+ delegate(object sender, EventArgs e)
+ {
+ var cols = ConfigIni.Presets[preset].Split('|');
+ ConfigIni.SelectedGames = cols[0];
+ ConfigIni.HiddenGames = cols[1];
+ var selected = ConfigIni.SelectedGames.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
+ var hide = ConfigIni.HiddenGames.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
+ checkedListBoxGames.SetItemChecked(0, selected.Contains("default"));
+ for (int j = 1; j < checkedListBoxGames.Items.Count; j++)
+ checkedListBoxGames.SetItemChecked(j,
+ selected.Contains((checkedListBoxGames.Items[j] as NesMiniApplication).Code));
+
+ }));
+ deletePresetToolStripMenuItem.DropDownItems.Insert(i, new ToolStripMenuItem(preset, null,
+ delegate(object sender, EventArgs e)
+ {
+ if (MessageBox.Show(this, string.Format(Resources.DeletePreset, preset), Resources.AreYouSure, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
+ == DialogResult.Yes)
+ {
+ ConfigIni.Presets.Remove(preset);
+ LoadPresets();
+ }
+ }));
+ deletePresetToolStripMenuItem.Enabled = true;
+ i++;
+ }
+ }
+
+ void LoadLanguages()
+ {
+ var languages = new List<string>(Directory.GetDirectories(Path.Combine(Program.BaseDirectoryInternal, "languages")));
+ ResourceManager rm = Resources.ResourceManager;
+ languages.Add("en-US"); // default language
+ var langCodes = new Dictionary<string, string>();
+ foreach (var language in languages)
+ {
+ var code = Path.GetFileName(language);
+ langCodes[new CultureInfo(code).DisplayName] = code;
+ }
+ ToolStripMenuItem english = null;
+ bool found = false;
+ foreach (var language in langCodes.Keys.OrderBy<string, string>(o => o))
+ {
+ var item = new ToolStripMenuItem();
+ var displayName = Regex.Replace(language, @" \(.+\)", "");
+ if (langCodes.Keys.Count(o => Regex.Replace(o, @" \(.+\)", "") == displayName) == 1)
+ item.Text = displayName;
+ else
+ item.Text = language;
+ var country = langCodes[language];
+ if (country.Length > 2) country = country.Substring(country.Length - 2).ToLower();
+ item.Image = (Image)rm.GetObject(country);
+ item.ImageScaling = ToolStripItemImageScaling.None;
+ item.Click += delegate(object sender, EventArgs e)
+ {
+ ConfigIni.Language = langCodes[language];
+ SaveConfig();
+ Thread.CurrentThread.CurrentUICulture = new CultureInfo(langCodes[language]);
+ this.Controls.Clear();
+ this.InitializeComponent();
+ FormInitialize();
+ this.Invalidate(true);
+ };
+ item.Checked = Thread.CurrentThread.CurrentUICulture.Name == langCodes[language];
+ found |= item.Checked;
+ if (langCodes[language] == "en-US")
+ english = item;
+ languageToolStripMenuItem.DropDownItems.Add(item);
+ }
+ if (!found)
+ english.Checked = true;
+ }
+
+ void AddPreset(object sender, EventArgs e)
+ {
+ var form = new StringInputForm();
+ form.Text = Resources.NewPreset;
+ form.labelComments.Text = Resources.InputPreset;
+ if (form.ShowDialog() == DialogResult.OK)
+ {
+ var name = form.textBox.Text.Replace("=", " ");
+ if (!string.IsNullOrEmpty(name))
+ {
+ Manager.GameManager.GetInstance().SaveChanges();
+ ConfigIni.Presets[name] = ConfigIni.SelectedGames + "|" + ConfigIni.HiddenGames;
+ LoadPresets();
+ }
+ }
+ }
+
+ private void checkedListBoxGames_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ ShowSelected();
+ }
+
+ void SetImageForSelectedGame(string fileName)
+ {
+ var selected = checkedListBoxGames.SelectedItem;
+ if (selected == null || !(selected is NesMiniApplication)) return;
+ var game = (selected as NesMiniApplication);
+ game.Image = NesMiniApplication.LoadBitmap(fileName);
+ ShowSelected();
+ timerCalculateGames.Enabled = true;
+ }
+
+ private void buttonBrowseImage_Click(object sender, EventArgs e)
+ {
+ openFileDialogImage.Filter = Resources.Images + " (*.bmp;*.png;*.jpg;*.jpeg;*.gif)|*.bmp;*.png;*.jpg;*.jpeg;*.gif|" + Resources.AllFiles + "|*.*";
+ if (openFileDialogImage.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+ {
+ SetImageForSelectedGame(openFileDialogImage.FileName);
+ }
+ }
+
+ private void buttonGoogle_Click(object sender, EventArgs e)
+ {
+ var selected = checkedListBoxGames.SelectedItem;
+ if (selected == null || !(selected is NesMiniApplication)) return;
+ var game = (selected as NesMiniApplication);
+ var googler = new ImageGooglerForm(game);
+ if (googler.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+ {
+ game.Image = googler.Result;
+ ShowSelected();
+ timerCalculateGames.Enabled = true;
+ }
+ }
+
+ private void textBoxName_TextChanged(object sender, EventArgs e)
+ {
+ var selected = checkedListBoxGames.SelectedItem;
+ if (selected == null || !(selected is NesMiniApplication)) return;
+ var game = (selected as NesMiniApplication);
+ game.Name = textBoxName.Text;
+ }
+
+ private void radioButtonOne_CheckedChanged(object sender, EventArgs e)
+ {
+ var selected = checkedListBoxGames.SelectedItem;
+ if (selected == null || !(selected is NesMiniApplication)) return;
+ var game = (selected as NesMiniApplication);
+ game.Players = (byte)(radioButtonOne.Checked ? 1 : 2);
+ game.Simultaneous = radioButtonTwoSim.Checked;
+ }
+
+ private void textBoxPublisher_TextChanged(object sender, EventArgs e)
+ {
+ var selected = checkedListBoxGames.SelectedItem;
+ if (selected == null || !(selected is NesMiniApplication)) return;
+ var game = (selected as NesMiniApplication);
+ game.Publisher = textBoxPublisher.Text.ToUpper();
+ }
+
+ private void textBoxArguments_TextChanged(object sender, EventArgs e)
+ {
+ var selected = checkedListBoxGames.SelectedItem;
+ if (selected == null || !(selected is NesMiniApplication)) return;
+ var game = (selected as NesMiniApplication);
+ if (game is NesGame)
+ (game as NesGame).Args = textBoxArguments.Text;
+ else if (game is FdsGame)
+ (game as FdsGame).Args = textBoxArguments.Text;
+ else
+ game.Command = textBoxArguments.Text;
+ }
+
+ private void maskedTextBoxReleaseDate_TextChanged(object sender, EventArgs e)
+ {
+ var selected = checkedListBoxGames.SelectedItem;
+ if (selected == null || !(selected is NesMiniApplication)) return;
+ var game = (selected as NesMiniApplication);
+ game.ReleaseDate = maskedTextBoxReleaseDate.Text;
+ }
+
+ private void textBoxGameGenie_TextChanged(object sender, EventArgs e)
+ {
+ var selected = checkedListBoxGames.SelectedItem;
+ if (selected == null || !(selected is NesGame)) return;
+ var game = (selected as NesGame);
+ game.GameGenie = textBoxGameGenie.Text;
+ }
+
+
+ private void SaveConfig()
+ {
+ Manager.GameManager.GetInstance().SaveChanges();
+
+ }
+
+ private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
+ {
+ Debug.WriteLine("Closing main form");
+ SaveConfig();
+ ftpServer.Stop();
+ Clovershell.Dispose();
+ }
+ private void MainForm_FormClosed(object sender, FormClosedEventArgs e)
+ {
+ Process.GetCurrentProcess().Kill(); // Suicide! Just easy and dirty way to kill all threads.
+ }
+
+
+ struct CountResult
+ {
+ public int Count;
+ public long Size;
+ }
+ void RecalculateSelectedGamesThread()
+ {
+ try
+ {
+ var stats = RecalculateSelectedGames();
+ showStats(stats);
+ }
+ catch
+ {
+ timerCalculateGames.Enabled = false;
+ timerCalculateGames.Enabled = true;
+ }
+ }
+ CountResult RecalculateSelectedGames()
+ {
+ CountResult stats;
+ stats.Count = 0;
+ stats.Size = 0;
+ foreach (var game in checkedListBoxGames.CheckedItems)
+ {
+ if (game is NesMiniApplication)
+ {
+ stats.Count++;
+ stats.Size += (game as NesMiniApplication).Size();
+ }
+
+ }
+ return stats;
+ }
+ void showStats(CountResult stats)
+ {
+ try
+ {
+ if (InvokeRequired)
+ {
+ Invoke(new Action<CountResult>(showStats), new object[] { stats });
+ return;
+ }
+ var maxGamesSize = DefaultMaxGamesSize * 1024 * 1024;
+ if (WorkerForm.NandCTotal > 0)
+ maxGamesSize = (WorkerForm.NandCFree + WorkerForm.WritedGamesSize) - WorkerForm.ReservedMemory * 1024 * 1024;
+ toolStripStatusLabelSelected.Text = stats.Count + " " + Resources.GamesSelected;
+ toolStripStatusLabelSize.Text = string.Format("{0:F1}MB / {1:F1}MB", stats.Size / 1024.0 / 1024.0, maxGamesSize / 1024.0 / 1024.0);
+ toolStripProgressBar.Maximum = (int)maxGamesSize;
+ toolStripProgressBar.Value = Math.Min((int)stats.Size, toolStripProgressBar.Maximum);
+ toolStripStatusLabelSize.ForeColor =
+ (toolStripProgressBar.Value < toolStripProgressBar.Maximum) ?
+ SystemColors.ControlText :
+ Color.Red;
+ }
+ catch { }
+ }
+
+ private void buttonAddGames_Click(object sender, EventArgs e)
+ {
+ if (openFileDialogNes.ShowDialog() == DialogResult.OK)
+ {
+ AddGames(openFileDialogNes.FileNames);
+ }
+ }
+
+ private void checkedListBoxGames_MouseDown(object sender, MouseEventArgs e)
+ {
+ if (e.Button == System.Windows.Forms.MouseButtons.Right)
+ {
+ var i = checkedListBoxGames.IndexFromPoint(e.X, e.Y);
+ selectAllToolStripMenuItem.Tag = unselectAllToolStripMenuItem.Tag = 0;
+ deleteGameToolStripMenuItem.Tag = i;
+ deleteGameToolStripMenuItem.Enabled = i > 0;
+ contextMenuStrip.Show(sender as Control, e.X, e.Y);
+ }
+ }
+
+ private void checkedListBoxDefaultGames_MouseDown(object sender, MouseEventArgs e)
+ {
+ if (e.Button == System.Windows.Forms.MouseButtons.Right)
+ {
+ var i = checkedListBoxGames.IndexFromPoint(e.X, e.Y);
+ selectAllToolStripMenuItem.Tag = unselectAllToolStripMenuItem.Tag = 1;
+ deleteGameToolStripMenuItem.Enabled = false;
+ contextMenuStrip.Show(sender as Control, e.X, e.Y);
+ }
+ }
+
+ DialogResult RequireKernelDump()
+ {
+ if (File.Exists(KernelDump)) return DialogResult.OK; // OK - already dumped
+ // Asking user to dump kernel
+ if (MessageBox.Show(Resources.NoKernelWarning, Resources.NoKernel, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
+ == System.Windows.Forms.DialogResult.Yes)
+ {
+ if (DoKernelDump())
+ return DialogResult.Yes; // Succesfully dumped
+ else
+ return DialogResult.No; // Not dumped for some other reason
+ }
+ else return DialogResult.No; // Kernel dump cancelled by user
+ }
+
+ DialogResult RequirePatchedKernel()
+ {
+ if (ConfigIni.CustomFlashed) return DialogResult.OK; // OK - already flashed
+ var kernelDump = RequireKernelDump(); // We need kernel dump first
+ if (kernelDump == System.Windows.Forms.DialogResult.No)
+ return DialogResult.No; // Abort if user has not dumped it
+ if (MessageBox.Show((kernelDump == DialogResult.Yes ? (Resources.KernelDumped + "\r\n") : "") +
+ Resources.CustomWarning, Resources.CustomKernel, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
+ == System.Windows.Forms.DialogResult.Yes)
+ {
+ if (FlashCustomKernel())
+ return DialogResult.Yes; // Succesfully flashed
+ else
+ return DialogResult.No; // Not flashed for some other reason
+ }
+ else return DialogResult.No;
+ }
+
+ private void buttonStart_Click(object sender, EventArgs e)
+ {
+ SaveConfig();
+
+ var stats = RecalculateSelectedGames();
+ if (stats.Count == 0)
+ {
+ MessageBox.Show(Resources.SelectAtLeast, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+ var kernel = RequirePatchedKernel();
+ if (kernel == DialogResult.No) return;
+ if (kernel == DialogResult.Yes) // Message for new user
+ MessageBox.Show(Resources.DoneYouCanUpload + "\r\n" + Resources.PressOkToContinue, Resources.Congratulations, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ if (UploadGames())
+ {
+ MessageBox.Show(Resources.Done, Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ }
+
+ bool DoKernelDump()
+ {
+ var workerForm = new WorkerForm();
+ workerForm.Text = Resources.DumpingKernel;
+ workerForm.Task = WorkerForm.Tasks.DumpKernel;
+ //workerForm.UBootDump = UBootDump;
+ workerForm.KernelDump = KernelDump;
+ workerForm.Start();
+ return workerForm.DialogResult == DialogResult.OK;
+ }
+
+ bool FlashCustomKernel()
+ {
+ var workerForm = new WorkerForm();
+ workerForm.Text = Resources.FlasingCustom;
+ workerForm.Task = WorkerForm.Tasks.FlashKernel;
+ workerForm.KernelDump = KernelDump;
+ workerForm.Mod = "mod_hakchi";
+ workerForm.hmodsInstall = new List<string>(InternalMods);
+ workerForm.Config = null;
+ workerForm.Games = null;
+ workerForm.Start();
+ var result = workerForm.DialogResult == DialogResult.OK;
+ if (result)
+ {
+ ConfigIni.CustomFlashed = true;
+ ConfigIni.Save();
+ }
+ return result;
+ }
+
+ bool UploadGames()
+ {
+ var workerForm = new WorkerForm();
+ workerForm.Text = Resources.UploadingGames;
+ workerForm.Task = WorkerForm.Tasks.UploadGames;
+ workerForm.KernelDump = KernelDump;
+ workerForm.Mod = "mod_hakchi";
+ workerForm.Config = ConfigIni.GetConfigDictionary();
+ workerForm.Games = new NesMenuCollection();
+ bool needOriginal = false;
+ foreach (var game in checkedListBoxGames.CheckedItems)
+ {
+ if (game is NesMiniApplication)
+ workerForm.Games.Add(game as NesMiniApplication);
+ else
+ needOriginal = true;
+ }
+
+
+ workerForm.FoldersMode = ConfigIni.FoldersMode;
+ workerForm.MaxGamesPerFolder = ConfigIni.MaxGamesPerFolder;
+ workerForm.MainForm = this;
+ workerForm.Start();
+ return workerForm.DialogResult == DialogResult.OK;
+ }
+
+ void AddGames(IEnumerable<string> files)
+ {
+ SaveConfig();
+ ICollection<NesMiniApplication> addedApps;
+ var workerForm = new WorkerForm();
+ workerForm.Text = Resources.LoadingGames;
+ workerForm.Task = WorkerForm.Tasks.AddGames;
+ workerForm.GamesToAdd = files;
+ workerForm.Start();
+ addedApps = workerForm.addedApplications;
+
+ if (addedApps != null)
+ {
+ // Add games, only new ones
+ var newApps = addedApps.Distinct(new NesMiniApplication.NesMiniAppEqualityComparer());
+ var newCodes = from app in newApps select app.Code;
+ var oldAppsReplaced = from app in checkedListBoxGames.Items.Cast<object>().ToArray()
+ where (app is NesMiniApplication) && newCodes.Contains((app as NesMiniApplication).Code)
+ select app;
+ foreach (var replaced in oldAppsReplaced)
+ checkedListBoxGames.Items.Remove(replaced);
+ checkedListBoxGames.Items.AddRange(newApps.ToArray());
+ var first = checkedListBoxGames.Items[0];
+ bool originalChecked = (checkedListBoxGames.CheckedItems.Contains(first));
+ checkedListBoxGames.Items.Remove(first);
+ checkedListBoxGames.Sorted = true;
+ checkedListBoxGames.Sorted = false;
+ checkedListBoxGames.Items.Insert(0, first);
+ checkedListBoxGames.SetItemChecked(0, originalChecked);
+ }
+ else
+ {
+ // Reload all games (maybe process was terminated?)
+ LoadGames();
+ }
+ if (addedApps != null) // if added only one game select it
+ {
+ bool first = true;
+ foreach (var addedApp in addedApps)
+ {
+ for (int i = 0; i < checkedListBoxGames.Items.Count; i++)
+ if ((checkedListBoxGames.Items[i] is NesMiniApplication) &&
+ (checkedListBoxGames.Items[i] as NesMiniApplication).Code == addedApp.Code)
+ {
+ if (first)
+ checkedListBoxGames.SelectedIndex = i;
+ first = false;
+ checkedListBoxGames.SetItemChecked(i, true);
+ break;
+ }
+ }
+ }
+ // Schedule recalculation
+ timerCalculateGames.Enabled = false;
+ timerCalculateGames.Enabled = true;
+ }
+
+ bool FlashOriginalKernel(bool boot = true)
+ {
+ var workerForm = new WorkerForm();
+ workerForm.Text = Resources.FlasingOriginal;
+ workerForm.Task = WorkerForm.Tasks.FlashKernel;
+ workerForm.KernelDump = KernelDump;
+ workerForm.Mod = null;
+ workerForm.Start();
+ var result = workerForm.DialogResult == DialogResult.OK;
+ if (result)
+ {
+ ConfigIni.CustomFlashed = false;
+ ConfigIni.Save();
+ }
+ return result;
+ }
+
+ bool Uninstall()
+ {
+ var workerForm = new WorkerForm();
+ workerForm.Text = Resources.Uninstalling;
+ workerForm.Task = WorkerForm.Tasks.Memboot;
+ workerForm.KernelDump = KernelDump;
+ workerForm.Mod = "mod_uninstall";
+ workerForm.Start();
+ return workerForm.DialogResult == DialogResult.OK;
+ }
+
+ bool InstallMods(string[] mods)
+ {
+ var workerForm = new WorkerForm();
+ workerForm.Text = Resources.InstallingMods;
+ workerForm.Task = WorkerForm.Tasks.Memboot;
+ workerForm.KernelDump = KernelDump;
+ workerForm.Mod = "mod_hakchi";
+ workerForm.hmodsInstall = new List<string>(mods);
+ workerForm.Start();
+ return workerForm.DialogResult == DialogResult.OK;
+ }
+
+ bool UninstallMods(string[] mods)
+ {
+ var workerForm = new WorkerForm();
+ workerForm.Text = Resources.UninstallingMods;
+ workerForm.Task = WorkerForm.Tasks.Memboot;
+ workerForm.KernelDump = KernelDump;
+ workerForm.Mod = "mod_hakchi";
+ workerForm.hmodsUninstall = new List<string>(mods);
+ workerForm.Start();
+ return workerForm.DialogResult == DialogResult.OK;
+ }
+
+ bool DownloadAllCovers()
+ {
+ var workerForm = new WorkerForm();
+ workerForm.Text = Resources.DownloadAllCoversTitle;
+ workerForm.Task = WorkerForm.Tasks.DownloadAllCovers;
+ workerForm.Games = new NesMenuCollection();
+ foreach (var game in checkedListBoxGames.Items)
+ {
+ if (game is NesMiniApplication)
+ workerForm.Games.Add(game as NesMiniApplication);
+ }
+ return workerForm.Start() == DialogResult.OK;
+ }
+
+ private void dumpKernelToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (File.Exists(KernelDump))
+ {
+ MessageBox.Show(Resources.ReplaceKernelQ, Resources.Warning, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ return;
+ }
+ if (MessageBox.Show(Resources.DumpKernelQ, Resources.AreYouSure, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
+ == System.Windows.Forms.DialogResult.Yes)
+ {
+ if (DoKernelDump()) MessageBox.Show(Resources.KernelDumped, Resources.Done, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ }
+
+ private void flashCustomKernelToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (RequireKernelDump() == DialogResult.No) return;
+ if (MessageBox.Show(Resources.CustomKernelQ, Resources.AreYouSure, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
+ == System.Windows.Forms.DialogResult.Yes)
+ {
+ if (FlashCustomKernel()) MessageBox.Show(Resources.DoneYouCanUpload, Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ }
+
+ private void flashOriginalKernelToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (!File.Exists(KernelDump))
+ {
+ MessageBox.Show(Resources.NoKernelYouNeed, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+ if (MessageBox.Show(Resources.OriginalKernelQ, Resources.AreYouSure, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
+ == System.Windows.Forms.DialogResult.Yes)
+ {
+ if (FlashOriginalKernel()) MessageBox.Show(Resources.Done, Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ }
+
+ private void uninstallToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (!File.Exists(KernelDump))
+ {
+ MessageBox.Show(Resources.NoKernelYouNeed, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+ if (MessageBox.Show(Resources.UninstallQ1, Resources.AreYouSure, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
+ == System.Windows.Forms.DialogResult.Yes)
+ {
+ if (Uninstall())
+ {
+ if (ConfigIni.CustomFlashed && MessageBox.Show(Resources.UninstallQ2, Resources.AreYouSure, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
+ == System.Windows.Forms.DialogResult.Yes)
+ FlashOriginalKernel();
+ MessageBox.Show(Resources.UninstallFactoryNote, Resources.Done, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ }
+ }
+
+ private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var about = new AboutBox();
+ about.Text = aboutToolStripMenuItem.Text.Replace("&", "");
+ about.ShowDialog();
+ }
+
+ private void gitHubPageWithActualReleasesToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ Process.Start("https://github.com/ClusterM/hakchi2/releases");
+ }
+
+ private void fAQToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ Process.Start("https://github.com/ClusterM/hakchi2/wiki/FAQ");
+ }
+
+ private void exitToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ Close();
+ }
+
+ private void useExtendedFontToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ ConfigIni.UseFont = useExtendedFontToolStripMenuItem.Checked;
+ }
+
+ private void ToolStripMenuItemArmet_Click(object sender, EventArgs e)
+ {
+ ConfigIni.AntiArmetLevel = epilepsyProtectionToolStripMenuItem.Checked ? (byte)2 : (byte)0;
+ }
+
+ private void cloverconHackToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ selectButtonCombinationToolStripMenuItem.Enabled =
+ ConfigIni.ResetHack = resetUsingCombinationOfButtonsToolStripMenuItem.Checked;
+ }
+
+ private void upABStartOnSecondControllerToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ ConfigIni.FcStart = upABStartOnSecondControllerToolStripMenuItem.Checked;
+ }
+
+ private void selectButtonCombinationToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var form = new SelectButtonsForm(ConfigIni.ResetCombination);
+ if (form.ShowDialog() == DialogResult.OK)
+ ConfigIni.ResetCombination = form.SelectedButtons;
+ }
+
+ private void nESMiniToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (nESMiniToolStripMenuItem.Checked) return;
+ ConfigIni.ConsoleType = 0;
+ nESMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == 0;
+ famicomMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == 1;
+ ConfigIni.HiddenGames = "";
+ Manager.GameManager.GetInstance().ReloadDefault();
+ }
+
+ private void famicomMiniToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (famicomMiniToolStripMenuItem.Checked) return;
+ ConfigIni.ConsoleType = 1;
+ nESMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == 0;
+ famicomMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == 1;
+ ConfigIni.HiddenGames = "";
+ Manager.GameManager.GetInstance().ReloadDefault();
+ }
+
+ private void enableAutofireToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ ConfigIni.AutofireHack = enableAutofireToolStripMenuItem.Checked;
+ if (ConfigIni.AutofireHack)
+ MessageBox.Show(this, Resources.AutofireHelp1, enableAutofireToolStripMenuItem.Text,
+ MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+
+ private void useXYOnClassicControllerAsAutofireABToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ ConfigIni.AutofireXYHack = useXYOnClassicControllerAsAutofireABToolStripMenuItem.Checked;
+ }
+
+ private void globalCommandLineArgumentsexpertsOnluToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var form = new StringInputForm();
+ form.Text = Resources.ExtraArgsTitle;
+ form.labelComments.Text = Resources.ExtraArgsInfo;
+ form.textBox.Text = ConfigIni.ExtraCommandLineArguments;
+ if (form.ShowDialog() == DialogResult.OK)
+ ConfigIni.ExtraCommandLineArguments = form.textBox.Text;
+ }
+
+ private void timerCalculateGames_Tick(object sender, EventArgs e)
+ {
+ new Thread(RecalculateSelectedGamesThread).Start(); // Calculate it in background
+ timerCalculateGames.Enabled = false; // We don't need to count games repetedly
+ }
+
+ private void checkedListBoxGames_ItemCheck(object sender, ItemCheckEventArgs e)
+ {
+ NesMiniApplication app = (NesMiniApplication)checkedListBoxGames.Items[e.Index];
+ app.Selected = (e.NewValue == CheckState.Checked);
+ Manager.GameManager.GetInstance().SaveChanges();
+ timerCalculateGames.Enabled = false;
+ timerCalculateGames.Enabled = true;
+ }
+
+
+ private void MainForm_Shown(object sender, EventArgs e)
+ {
+ if (ConfigIni.FirstRun && !File.Exists(KernelDump))
+ {
+ MessageBox.Show(this, Resources.FirstRun + "\r\n\r\n" + Resources.Donate, Resources.Hello, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ ConfigIni.FirstRun = false;
+ ConfigIni.Save();
+ }
+ }
+
+ private void deleteGameToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ deleteGame((int)(sender as ToolStripMenuItem).Tag);
+ }
+
+ private void deleteGame(int pos)
+ {
+ try
+ {
+ var game = checkedListBoxGames.Items[pos] as NesMiniApplication;
+ if (MessageBox.Show(this, string.Format(Resources.DeleteGame, game.Name), Resources.AreYouSure, MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == System.Windows.Forms.DialogResult.Yes)
+ {
+ Directory.Delete(game.GamePath, true);
+ checkedListBoxGames.Items.RemoveAt(pos);
+ }
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ // Schedule recalculation
+ timerCalculateGames.Enabled = false;
+ timerCalculateGames.Enabled = true;
+ }
+
+ private void selectAllToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if ((int)(sender as ToolStripMenuItem).Tag == 0)
+ for (int i = 0; i < checkedListBoxGames.Items.Count; i++)
+ checkedListBoxGames.SetItemChecked(i, true);
+
+ }
+
+ private void unselectAllToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if ((int)(sender as ToolStripMenuItem).Tag == 0)
+ for (int i = 0; i < checkedListBoxGames.Items.Count; i++)
+ checkedListBoxGames.SetItemChecked(i, false);
+
+ }
+
+ private void checkedListBoxGames_DragEnter(object sender, DragEventArgs e)
+ {
+ if (e.Data.GetDataPresent(DataFormats.FileDrop))
+ e.Effect = DragDropEffects.Copy;
+ }
+
+ private void checkedListBoxGames_DragDrop(object sender, DragEventArgs e)
+ {
+ var files = (string[])e.Data.GetData(DataFormats.FileDrop);
+
+ // Need to determine type of files
+ // Maybe it's cover art?
+ if (files.Length == 1)
+ {
+ var ext = Path.GetExtension(files[0]).ToLower();
+ if (ext == ".jpg" || ext == ".png")
+ {
+ SetImageForSelectedGame(files[0]);
+ return;
+ }
+ }
+
+ // Maybe it's some mods?
+ bool mods = false;
+ foreach (var file in files)
+ if (Path.GetExtension(file).ToLower() == ".hmod")
+ mods = true;
+ // Maybe it's some mods in single archive?
+ if (files.Length == 1)
+ {
+ var ext = Path.GetExtension(files[0]).ToLower();
+ if (ext == ".7z" || ext == ".zip" || ext == ".rar")
+ {
+ SevenZipExtractor.SetLibraryPath(Path.Combine(Program.BaseDirectoryInternal, IntPtr.Size == 8 ? @"tools\7z64.dll" : @"tools\7z.dll"));
+ using (var szExtractor = new SevenZipExtractor(files[0]))
+ {
+ foreach (var f in szExtractor.ArchiveFileNames)
+ if (Path.GetExtension(f).ToLower() == ".hmod")
+ mods = true;
+ }
+ }
+ }
+ if (mods)
+ {
+ installModules(files);
+ return;
+ }
+
+ // All other cases - games or apps
+ var allFilesToAdd = new List<string>();
+ foreach (var file in files)
+ if (Directory.Exists(file))
+ allFilesToAdd.AddRange(Directory.GetFiles(file, "*.*", SearchOption.AllDirectories));
+ else if (File.Exists(file))
+ allFilesToAdd.Add(file);
+ if (allFilesToAdd.Count > 0)
+ AddGames(allFilesToAdd);
+ }
+
+ private void searchToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var searchForm = new SearchForm(this);
+ searchForm.Left = this.Left + 200;
+ searchForm.Top = this.Top + 300;
+ searchForm.Show();
+ }
+
+ private void downloadCoversForAllGamesToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (DownloadAllCovers())
+ MessageBox.Show(this, Resources.Done, Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ ShowSelected();
+ timerCalculateGames.Enabled = true;
+ }
+
+ private void checkedListBoxGames_KeyDown(object sender, KeyEventArgs e)
+ {
+ if (e.KeyCode == Keys.Delete && checkedListBoxGames.SelectedIndex > 0)
+ deleteGame(checkedListBoxGames.SelectedIndex);
+ }
+
+ private void MainForm_KeyDown(object sender, KeyEventArgs e)
+ {
+ if (e.KeyCode == Keys.F5 && e.Modifiers == Keys.Shift)
+ {
+ int counter = 0;
+ foreach (var g in checkedListBoxGames.Items)
+ {
+ if (g is NesMiniApplication)
+ {
+ var game = g as NesMiniApplication;
+ if (game is NesGame)
+ {
+ try
+ {
+ if ((game as NesGame).TryAutofill(new NesFile((game as NesGame).NesPath).CRC32))
+ counter++;
+ }
+ catch { }
+ }
+ }
+ }
+ ShowSelected();
+ MessageBox.Show(this, string.Format(Resources.AutofillResult, counter), Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ }
+
+ private void toolStripMenuMaxGamesPerFolder_Click(object sender, EventArgs e)
+ {
+ ConfigIni.MaxGamesPerFolder = byte.Parse((sender as ToolStripMenuItem).Text);
+ max20toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 20;
+ max25toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 25;
+ max30toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 30;
+ max35toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 35;
+ max40toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 40;
+ max45toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 45;
+ max50toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 50;
+ max60toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 60;
+ max70toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 70;
+ max80toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 80;
+ max90toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 90;
+ max100toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 100;
+ }
+
+ private void compressGamesIfPossibleToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ ConfigIni.Compress = compressGamesIfPossibleToolStripMenuItem.Checked;
+ }
+
+ private void buttonShowGameGenieDatabase_Click(object sender, EventArgs e)
+ {
+ if (!(checkedListBoxGames.SelectedItem is NesGame)) return;
+ NesGame nesGame = checkedListBoxGames.SelectedItem as NesGame;
+ GameGenieCodeForm lFrm = new GameGenieCodeForm(nesGame);
+ if (lFrm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+ textBoxGameGenie.Text = nesGame.GameGenie;
+ }
+
+ private void pagesModefoldersToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ ConfigIni.FoldersMode = (NesMenuCollection.SplitStyle)byte.Parse((sender as ToolStripMenuItem).Tag.ToString());
+ disablePagefoldersToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 0;
+ automaticToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 2;
+ automaticOriginalToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 3;
+ pagesToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 4;
+ pagesOriginalToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 5;
+ foldersToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 6;
+ foldersOriginalToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 7;
+ foldersSplitByFirstLetterToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 8;
+ foldersSplitByFirstLetterOriginalToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 9;
+ customToolStripMenuItem.Checked = (byte)ConfigIni.FoldersMode == 99;
+ }
+
+ private void installModulesToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ installModules();
+ }
+
+ private void installModules(string[] add = null)
+ {
+ if (RequireKernelDump() == DialogResult.No) return;
+ var form = new SelectModsForm(false, true, add);
+ form.Text = Resources.SelectModsInstall;
+ if (form.ShowDialog() == DialogResult.OK)
+ {
+ if (InstallMods(((from m
+ in form.checkedListBoxMods.CheckedItems.OfType<object>().ToArray()
+ select m.ToString())).ToArray()))
+ {
+ MessageBox.Show(Resources.Done, Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ }
+ }
+
+ private void uninstallModulesToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (RequireKernelDump() == DialogResult.No) return;
+ var form = new SelectModsForm(true, false);
+ form.Text = Resources.SelectModsUninstall;
+ if (form.ShowDialog() == DialogResult.OK)
+ {
+ if (UninstallMods(((from m
+ in form.checkedListBoxMods.CheckedItems.OfType<object>().ToArray()
+ select m.ToString())).ToArray()))
+ {
+ MessageBox.Show(Resources.Done, Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ }
+ }
+
+ private void timerConnectionCheck_Tick(object sender, EventArgs e)
+ {
+ if (Clovershell != null)
+ {
+ toolStripStatusConnectionIcon.Image = Clovershell.IsOnline ? Resources.green : Resources.red;
+ toolStripStatusConnectionIcon.ToolTipText = Clovershell.IsOnline ? "Online" : "Offline";
+ }
+ }
+
+ private void saveSettingsToNESMiniNowToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (RequirePatchedKernel() == DialogResult.No) return;
+ try
+ {
+ if (WaitingClovershellForm.WaitForDevice(this))
+ {
+ WorkerForm.SyncConfig(ConfigIni.GetConfigDictionary(), true);
+ MessageBox.Show(Resources.Done, Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ private void saveStateManagerToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (RequirePatchedKernel() == DialogResult.No) return;
+ var gameNames = new Dictionary<string, string>();
+
+ foreach (var game in checkedListBoxGames.Items)
+ {
+ if (game is NesMiniApplication)
+ gameNames[(game as NesMiniApplication).Code] = (game as NesMiniApplication).Name;
+ }
+ var form = new SaveStateManager(gameNames);
+ form.ShowDialog();
+ }
+
+ private void FTPToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (FTPToolStripMenuItem.Checked)
+ {
+ try
+ {
+ var ftpThread = new Thread(delegate()
+ {
+ try
+ {
+ ftpServer.Run();
+ }
+ catch (ThreadAbortException)
+ {
+ }
+ catch (Exception ex)
+ {
+ try
+ {
+ ftpServer.Stop();
+ }
+ catch { }
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ Invoke(new Action(delegate()
+ {
+ MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ FTPToolStripMenuItem.Checked = false;
+ }));
+ }
+ });
+ ftpThread.Start();
+ ConfigIni.FtpServer = true;
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ FTPToolStripMenuItem.Checked = false;
+ ConfigIni.FtpServer = false;
+ }
+ }
+ else
+ {
+ ftpServer.Stop();
+ ConfigIni.FtpServer = false;
+ }
+ openFTPInExplorerToolStripMenuItem.Enabled = FTPToolStripMenuItem.Checked;
+ }
+
+ private void shellToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ ConfigIni.TelnetServer = openTelnetToolStripMenuItem.Enabled = Clovershell.ShellEnabled = shellToolStripMenuItem.Checked;
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ ConfigIni.TelnetServer = openTelnetToolStripMenuItem.Enabled = shellToolStripMenuItem.Checked = false;
+ }
+ }
+
+ private void openFTPInExplorerToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ new Process()
+ {
+ StartInfo = new ProcessStartInfo()
+ {
+ FileName = "ftp://root:clover@127.0.0.1:1021/",
+ }
+ }.Start();
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ private void openTelnetToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ new Process()
+ {
+ StartInfo = new ProcessStartInfo()
+ {
+ FileName = "telnet://127.0.0.1:1023",
+ }
+ }.Start();
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ MessageBox.Show(this, Resources.NoTelnet, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ private void takeScreenshotToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (RequirePatchedKernel() == DialogResult.No) return;
+ try
+ {
+ if (WaitingClovershellForm.WaitForDevice(this))
+ {
+ var screenshot = WorkerForm.TakeScreenshot();
+ var screenshotPath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName() + ".png");
+ screenshot.Save(screenshotPath, ImageFormat.Png);
+ var showProcess = new Process()
+ {
+ StartInfo = new ProcessStartInfo()
+ {
+ FileName = screenshotPath
+ }
+ };
+ showProcess.Start();
+ new Thread(delegate()
+ {
+ try
+ {
+ showProcess.WaitForExit();
+ }
+ catch { }
+ try
+ {
+ File.Delete(screenshotPath);
+ }
+ catch { }
+ }).Start();
+ }
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+ }
+}
diff --git a/MainForm.resx b/MainForm.resx
index 3f29e4a8..b78b2cf2 100644
--- a/MainForm.resx
+++ b/MainForm.resx
@@ -1,3360 +1,3054 @@
-<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </resheader>
- <resheader name="writer">
- <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </resheader>
- <metadata name="menuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>17, 17</value>
- </metadata>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="menuStrip.Location" type="System.Drawing.Point, System.Drawing">
- <value>0, 0</value>
- </data>
- <data name="menuStrip.Size" type="System.Drawing.Size, System.Drawing">
- <value>609, 24</value>
- </data>
- <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="menuStrip.TabIndex" type="System.Int32, mscorlib">
- <value>1</value>
- </data>
- <data name="menuStrip.Text" xml:space="preserve">
- <value>menuStrip</value>
- </data>
- <data name="&gt;&gt;menuStrip.Name" xml:space="preserve">
- <value>menuStrip</value>
- </data>
- <data name="&gt;&gt;menuStrip.Type" xml:space="preserve">
- <value>System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;menuStrip.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;menuStrip.ZOrder" xml:space="preserve">
- <value>6</value>
- </data>
- <data name="fileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>37, 20</value>
- </data>
- <data name="fileToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;File</value>
- </data>
- <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="addMoreGamesToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
- <value>Ctrl+O</value>
- </data>
- <data name="addMoreGamesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>238, 22</value>
- </data>
- <data name="addMoreGamesToolStripMenuItem.Text" xml:space="preserve">
- <value>Add more &amp;games</value>
- </data>
- <data name="presetsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>238, 22</value>
- </data>
- <data name="presetsToolStripMenuItem.Text" xml:space="preserve">
- <value>Selection presets</value>
- </data>
- <data name="toolStripMenuItem2.Size" type="System.Drawing.Size, System.Drawing">
- <value>139, 6</value>
- </data>
- <data name="addPresetToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>142, 22</value>
- </data>
- <data name="addPresetToolStripMenuItem.Text" xml:space="preserve">
- <value>Add preset</value>
- </data>
- <data name="deletePresetToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>142, 22</value>
- </data>
- <data name="deletePresetToolStripMenuItem.Text" xml:space="preserve">
- <value>Delete preset</value>
- </data>
- <data name="synchronizeToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
- <value>F5</value>
- </data>
- <data name="synchronizeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>238, 22</value>
- </data>
- <data name="synchronizeToolStripMenuItem.Text" xml:space="preserve">
- <value>Synchronize</value>
- </data>
- <data name="searchToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
- <value>Ctrl+F</value>
- </data>
- <data name="searchToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>238, 22</value>
- </data>
- <data name="searchToolStripMenuItem.Text" xml:space="preserve">
- <value>Search</value>
- </data>
- <data name="downloadCoversForAllGamesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>238, 22</value>
- </data>
- <data name="downloadCoversForAllGamesToolStripMenuItem.Text" xml:space="preserve">
- <value>Download box art for all games</value>
- </data>
- <data name="toolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
- <value>235, 6</value>
- </data>
- <data name="exitToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>238, 22</value>
- </data>
- <data name="exitToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;Exit</value>
- </data>
- <data name="kernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>52, 20</value>
- </data>
- <data name="kernelToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;Kernel</value>
- </data>
- <data name="dumpKernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>179, 22</value>
- </data>
- <data name="dumpKernelToolStripMenuItem.Text" xml:space="preserve">
- <value>Dump kernel</value>
- </data>
- <data name="flashOriginalKernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>179, 22</value>
- </data>
- <data name="flashOriginalKernelToolStripMenuItem.Text" xml:space="preserve">
- <value>Flash original kernel</value>
- </data>
- <data name="flashCustomKernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>179, 22</value>
- </data>
- <data name="flashCustomKernelToolStripMenuItem.Text" xml:space="preserve">
- <value>Flash custom kernel</value>
- </data>
- <data name="uninstallToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>179, 22</value>
- </data>
- <data name="uninstallToolStripMenuItem.Text" xml:space="preserve">
- <value>Uninstall</value>
- </data>
- <data name="modulesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>65, 20</value>
- </data>
- <data name="modulesToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;Modules</value>
- </data>
- <data name="installModulesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>197, 22</value>
- </data>
- <data name="installModulesToolStripMenuItem.Text" xml:space="preserve">
- <value>Install extra modules</value>
- </data>
- <data name="uninstallModulesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>197, 22</value>
- </data>
- <data name="uninstallModulesToolStripMenuItem.Text" xml:space="preserve">
- <value>Uninstall extra modules</value>
- </data>
- <data name="settingsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>61, 20</value>
- </data>
- <data name="settingsToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;Settings</value>
- </data>
- <data name="languageToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAANASURBVDhPdZN9UMtxHMd/U7qj6zz1R6ltXB5ma6vMyrKsaSs2D3PoYW6VPA1DJZZMVtjN1Zyn
- iKYQTqU7lWOdRNxwHkqRK3lMtU5UOJSjt1/zu3M4r7v3ff55vz73/fzxJf5mhkxOSz9gcSm1Ncy0Pe+K
- r2vrTaxpfB1qzMl3pir/Z3t+sWt1S9fOR+09XY/be1D7phu1re/R3PkBjR2972wv3+qp6r9syKtwVVvN
- l9Y2LIf1WQeONZUhrcUOS0s7TPfsWH2+BZqTV6C5mnY2MFb152t44ctos3OzS2fd4iPhgQLlrYV48rES
- hT2dWGP/ioSbHYjLa0DMniro7mox37jrEKX+wk9hWsS1Th2IqPeHvlmFh71W1PZ1oay/H4mdfYiraUPs
- 8QYo9TYklZghiTcN+Cq1QZROEL4Ru68xyr3AushCbONSGLu7UdD3HeZP37Dq+QdEVr5CdG4d5uluYsG2
- QhxuikRMcdQJh+zODHfxCU7r98lUgL+jBBGXr2NR/TssI0V1Uw9UtzugKGqGMusewrXXoMo2IbM2FOqq
- ha2OBaO8ZtHp3BRM0MSAu/4EgnJuQFj0FOKLLxFa/gLiM82Q7n+ICJ0NM6IrEb03DdrrQgSf4v9wLBjp
- KXEfy0oaYPJTwVlpAm9dDYQ7qzFtzwNMz6pDSOZ9SDaRsroK3NAL4K9IB/soAxN1c744FgzC4OraGGwD
- 2NJDmLIhCb7bkyHUncL0FdUIjquCYKHVIU8RngVbZAFHqQdHvuMOpRPEpECDeTwvA5OD98NtiyfcMsbA
- M88bLEMkuGFF4MwsBkd8Gr4SC7jSw/CT7wNHakykdIIQSTd7CGfv7RbJD8AnVQDXdWMwLHkURhg8wEyV
- gZWSgICoHAiW5EOkLkCYpvDFRLF2OKX/QqrMlosU5n6RWg+2UQi6gQWP3T7wPsgD70gkZJtLMDe9AsqM
- ss/0AJlk6HA3GqX+hjFBIheEbX0r3piMkIIoBJ6TQXJ8IxZkn4Eq9wY5S9+MHs/WkFV/MiMd0l840YY4
- B7gz2QfHyQT1QfEae4g60y6ITqmnC8IsNCfnxWQnkIw3GZdB4X8MfpYRZMaSYVJzNJnBu53IUBDET8tW
- pSL+Tvj1AAAAAElFTkSuQmCC
-</value>
- </data>
- <data name="languageToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>376, 22</value>
- </data>
- <data name="languageToolStripMenuItem.Text" xml:space="preserve">
- <value>Language</value>
- </data>
- <data name="consoleTypeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>376, 22</value>
- </data>
- <data name="consoleTypeToolStripMenuItem.Text" xml:space="preserve">
- <value>Console type</value>
- </data>
- <data name="nESMiniToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>151, 22</value>
- </data>
- <data name="nESMiniToolStripMenuItem.Text" xml:space="preserve">
- <value>NES Mini</value>
- </data>
- <data name="famicomMiniToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>151, 22</value>
- </data>
- <data name="famicomMiniToolStripMenuItem.Text" xml:space="preserve">
- <value>Famicom Mini</value>
- </data>
- <data name="cloverconHackToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>376, 22</value>
- </data>
- <data name="cloverconHackToolStripMenuItem.Text" xml:space="preserve">
- <value>Controller hacks</value>
- </data>
- <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>308, 22</value>
- </data>
- <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text" xml:space="preserve">
- <value>Use button combination to reset</value>
- </data>
- <data name="selectButtonCombinationToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>308, 22</value>
- </data>
- <data name="selectButtonCombinationToolStripMenuItem.Text" xml:space="preserve">
- <value>Select reset button combination</value>
- </data>
- <data name="enableAutofireToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>308, 22</value>
- </data>
- <data name="enableAutofireToolStripMenuItem.Text" xml:space="preserve">
- <value>Use "Select+A/B" to enable autofire on A/B </value>
- </data>
- <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>308, 22</value>
- </data>
- <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text" xml:space="preserve">
- <value>Use X/Y on Classic Controller as autofire A/B</value>
- </data>
- <data name="upABStartOnSecondControllerToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>308, 22</value>
- </data>
- <data name="upABStartOnSecondControllerToolStripMenuItem.Text" xml:space="preserve">
- <value>"Up+A+B = Start" on 2nd controller</value>
- </data>
- <data name="useExtendedFontToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>376, 22</value>
- </data>
- <data name="useExtendedFontToolStripMenuItem.Text" xml:space="preserve">
- <value>Use extended font</value>
- </data>
- <data name="epilepsyProtectionToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>376, 22</value>
- </data>
- <data name="epilepsyProtectionToolStripMenuItem.Text" xml:space="preserve">
- <value>Disable epilepsy protection</value>
- </data>
- <data name="compressGamesIfPossibleToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>376, 22</value>
- </data>
- <data name="compressGamesIfPossibleToolStripMenuItem.Text" xml:space="preserve">
- <value>Compress non-NES games (for additional emulator mod)</value>
- </data>
- <data name="pagesfoldersTypeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>376, 22</value>
- </data>
- <data name="pagesfoldersTypeToolStripMenuItem.Text" xml:space="preserve">
- <value>Pages/folders structure</value>
- </data>
- <data name="disablePagefoldersToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>356, 22</value>
- </data>
- <data name="disablePagefoldersToolStripMenuItem.Text" xml:space="preserve">
- <value>Disable page/folders</value>
- </data>
- <data name="toolStripMenuItem3.Size" type="System.Drawing.Size, System.Drawing">
- <value>353, 6</value>
- </data>
- <data name="automaticToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>356, 22</value>
- </data>
- <data name="automaticToolStripMenuItem.Text" xml:space="preserve">
- <value>Automatic</value>
- </data>
- <data name="automaticOriginalToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>356, 22</value>
- </data>
- <data name="automaticOriginalToolStripMenuItem.Text" xml:space="preserve">
- <value>Original games in root -&gt; Automatic in subfolder</value>
- </data>
- <data name="pagesToolStripMenuItem.ImageScaling" type="System.Windows.Forms.ToolStripItemImageScaling, System.Windows.Forms">
- <value>None</value>
- </data>
- <data name="pagesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>356, 22</value>
- </data>
- <data name="pagesToolStripMenuItem.Text" xml:space="preserve">
- <value>Pages, split games equally</value>
- </data>
- <data name="pagesOriginalToolStripMenuItem.ImageScaling" type="System.Windows.Forms.ToolStripItemImageScaling, System.Windows.Forms">
- <value>None</value>
- </data>
- <data name="pagesOriginalToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>356, 22</value>
- </data>
- <data name="pagesOriginalToolStripMenuItem.Text" xml:space="preserve">
- <value>Original games in root -&gt; Pages, split games equally</value>
- </data>
- <data name="foldersToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>356, 22</value>
- </data>
- <data name="foldersToolStripMenuItem.Text" xml:space="preserve">
- <value>Folders, split games equally</value>
- </data>
- <data name="foldersOriginalToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>356, 22</value>
- </data>
- <data name="foldersOriginalToolStripMenuItem.Text" xml:space="preserve">
- <value>Original games in root -&gt; Folders, split games equally</value>
- </data>
- <data name="foldersSplitByFirstLetterToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>356, 22</value>
- </data>
- <data name="foldersSplitByFirstLetterToolStripMenuItem.Text" xml:space="preserve">
- <value>Folders, split by first letter</value>
- </data>
- <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>356, 22</value>
- </data>
- <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text" xml:space="preserve">
- <value>Original games in root -&gt; Folders, split by first letter</value>
- </data>
- <data name="maximumGamesPerFolderToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>356, 22</value>
- </data>
- <data name="maximumGamesPerFolderToolStripMenuItem.Text" xml:space="preserve">
- <value>Maximum games per page/folder</value>
- </data>
- <data name="max20toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
- </data>
- <data name="max20toolStripMenuItem.Text" xml:space="preserve">
- <value>20</value>
- </data>
- <data name="max25toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
- </data>
- <data name="max25toolStripMenuItem.Text" xml:space="preserve">
- <value>25</value>
- </data>
- <data name="max30toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
- </data>
- <data name="max30toolStripMenuItem.Text" xml:space="preserve">
- <value>30</value>
- </data>
- <data name="max35toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
- </data>
- <data name="max35toolStripMenuItem.Text" xml:space="preserve">
- <value>35</value>
- </data>
- <data name="max40toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
- </data>
- <data name="max40toolStripMenuItem.Text" xml:space="preserve">
- <value>40</value>
- </data>
- <data name="max45toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
- </data>
- <data name="max45toolStripMenuItem.Text" xml:space="preserve">
- <value>45</value>
- </data>
- <data name="max50toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
- </data>
- <data name="max50toolStripMenuItem.Text" xml:space="preserve">
- <value>50</value>
- </data>
- <data name="max60toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
- </data>
- <data name="max60toolStripMenuItem.Text" xml:space="preserve">
- <value>60</value>
- </data>
- <data name="max70toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
- </data>
- <data name="max70toolStripMenuItem.Text" xml:space="preserve">
- <value>70</value>
- </data>
- <data name="max80toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
- </data>
- <data name="max80toolStripMenuItem.Text" xml:space="preserve">
- <value>80</value>
- </data>
- <data name="max90toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
- </data>
- <data name="max90toolStripMenuItem.Text" xml:space="preserve">
- <value>90</value>
- </data>
- <data name="max100toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
- </data>
- <data name="max100toolStripMenuItem.Text" xml:space="preserve">
- <value>100</value>
- </data>
- <data name="toolStripMenuItem4.Size" type="System.Drawing.Size, System.Drawing">
- <value>353, 6</value>
- </data>
- <data name="customToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>356, 22</value>
- </data>
- <data name="customToolStripMenuItem.Text" xml:space="preserve">
- <value>Custom - show Folders Manager every time</value>
- </data>
- <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>376, 22</value>
- </data>
- <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text" xml:space="preserve">
- <value>Global command-line arguments (experts only!)</value>
- </data>
- <data name="toolStripMenuItem5.Size" type="System.Drawing.Size, System.Drawing">
- <value>373, 6</value>
- </data>
- <data name="saveSettingsToNESMiniNowToolStripMenuItem.Font" type="System.Drawing.Font, System.Drawing">
- <value>Segoe UI, 9pt, style=Bold</value>
- </data>
- <data name="saveSettingsToNESMiniNowToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>376, 22</value>
- </data>
- <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text" xml:space="preserve">
- <value>Save settings to NES Mini now</value>
- </data>
- <data name="toolsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>48, 20</value>
- </data>
- <data name="toolsToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;Tools</value>
- </data>
- <data name="saveStateManagerToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>331, 22</value>
- </data>
- <data name="saveStateManagerToolStripMenuItem.Text" xml:space="preserve">
- <value>Save-State Manager</value>
- </data>
- <data name="toolStripMenuItem6.Size" type="System.Drawing.Size, System.Drawing">
- <value>328, 6</value>
- </data>
- <data name="FTPToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>331, 22</value>
- </data>
- <data name="FTPToolStripMenuItem.Text" xml:space="preserve">
- <value>FTP server on ftp://root:clover@127.0.0.1:1021</value>
- </data>
- <data name="openFTPInExplorerToolStripMenuItem.Enabled" type="System.Boolean, mscorlib">
- <value>False</value>
- </data>
- <data name="openFTPInExplorerToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>331, 22</value>
- </data>
- <data name="openFTPInExplorerToolStripMenuItem.Text" xml:space="preserve">
- <value>Open FTP client</value>
- </data>
- <data name="toolStripMenuItem7.Size" type="System.Drawing.Size, System.Drawing">
- <value>328, 6</value>
- </data>
- <data name="shellToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>331, 22</value>
- </data>
- <data name="shellToolStripMenuItem.Text" xml:space="preserve">
- <value>Shell server on telnet://127.0.0.1:1023 (login:root)</value>
- </data>
- <data name="openTelnetToolStripMenuItem.Enabled" type="System.Boolean, mscorlib">
- <value>False</value>
- </data>
- <data name="openTelnetToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>331, 22</value>
- </data>
- <data name="openTelnetToolStripMenuItem.Text" xml:space="preserve">
- <value>Open Telnet client</value>
- </data>
- <data name="toolStripMenuItem8.Size" type="System.Drawing.Size, System.Drawing">
- <value>328, 6</value>
- </data>
- <data name="takeScreenshotToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>331, 22</value>
- </data>
- <data name="takeScreenshotToolStripMenuItem.Text" xml:space="preserve">
- <value>Take screenshot</value>
- </data>
- <data name="helpToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>44, 20</value>
- </data>
- <data name="helpToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;Help</value>
- </data>
- <data name="gitHubPageWithActualReleasesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>246, 22</value>
- </data>
- <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text" xml:space="preserve">
- <value>GitHub page with actual releases</value>
- </data>
- <data name="fAQToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>246, 22</value>
- </data>
- <data name="fAQToolStripMenuItem.Text" xml:space="preserve">
- <value>FAQ</value>
- </data>
- <data name="aboutToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>246, 22</value>
- </data>
- <data name="aboutToolStripMenuItem.Text" xml:space="preserve">
- <value>About...</value>
- </data>
- <data name="checkedListBoxGames.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>None</value>
- </data>
- <data name="checkedListBoxGames.Location" type="System.Drawing.Point, System.Drawing">
- <value>12, 57</value>
- </data>
- <data name="checkedListBoxGames.Size" type="System.Drawing.Size, System.Drawing">
- <value>282, 499</value>
- </data>
- <data name="checkedListBoxGames.TabIndex" type="System.Int32, mscorlib">
- <value>1</value>
- </data>
- <data name="&gt;&gt;checkedListBoxGames.Name" xml:space="preserve">
- <value>checkedListBoxGames</value>
- </data>
- <data name="&gt;&gt;checkedListBoxGames.Type" xml:space="preserve">
- <value>System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;checkedListBoxGames.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;checkedListBoxGames.ZOrder" xml:space="preserve">
- <value>5</value>
- </data>
- <data name="groupBoxOptions.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>None</value>
- </data>
- <data name="&gt;&gt;buttonShowGameGenieDatabase.Name" xml:space="preserve">
- <value>buttonShowGameGenieDatabase</value>
- </data>
- <data name="&gt;&gt;buttonShowGameGenieDatabase.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonShowGameGenieDatabase.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;buttonShowGameGenieDatabase.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <data name="&gt;&gt;maskedTextBoxReleaseDate.Name" xml:space="preserve">
- <value>maskedTextBoxReleaseDate</value>
- </data>
- <data name="&gt;&gt;maskedTextBoxReleaseDate.Type" xml:space="preserve">
- <value>System.Windows.Forms.MaskedTextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;maskedTextBoxReleaseDate.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;maskedTextBoxReleaseDate.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
- <data name="&gt;&gt;label1.Name" xml:space="preserve">
- <value>label1</value>
- </data>
- <data name="&gt;&gt;label1.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;label1.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
- <value>2</value>
- </data>
- <data name="&gt;&gt;textBoxGameGenie.Name" xml:space="preserve">
- <value>textBoxGameGenie</value>
- </data>
- <data name="&gt;&gt;textBoxGameGenie.Type" xml:space="preserve">
- <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;textBoxGameGenie.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;textBoxGameGenie.ZOrder" xml:space="preserve">
- <value>3</value>
- </data>
- <data name="&gt;&gt;label7.Name" xml:space="preserve">
- <value>label7</value>
- </data>
- <data name="&gt;&gt;label7.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;label7.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;label7.ZOrder" xml:space="preserve">
- <value>4</value>
- </data>
- <data name="&gt;&gt;label6.Name" xml:space="preserve">
- <value>label6</value>
- </data>
- <data name="&gt;&gt;label6.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;label6.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;label6.ZOrder" xml:space="preserve">
- <value>5</value>
- </data>
- <data name="&gt;&gt;radioButtonTwoSim.Name" xml:space="preserve">
- <value>radioButtonTwoSim</value>
- </data>
- <data name="&gt;&gt;radioButtonTwoSim.Type" xml:space="preserve">
- <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;radioButtonTwoSim.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;radioButtonTwoSim.ZOrder" xml:space="preserve">
- <value>6</value>
- </data>
- <data name="&gt;&gt;buttonGoogle.Name" xml:space="preserve">
- <value>buttonGoogle</value>
- </data>
- <data name="&gt;&gt;buttonGoogle.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonGoogle.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;buttonGoogle.ZOrder" xml:space="preserve">
- <value>7</value>
- </data>
- <data name="&gt;&gt;buttonBrowseImage.Name" xml:space="preserve">
- <value>buttonBrowseImage</value>
- </data>
- <data name="&gt;&gt;buttonBrowseImage.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonBrowseImage.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;buttonBrowseImage.ZOrder" xml:space="preserve">
- <value>8</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.Name" xml:space="preserve">
- <value>pictureBoxArt</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.Type" xml:space="preserve">
- <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.ZOrder" xml:space="preserve">
- <value>9</value>
- </data>
- <data name="&gt;&gt;label4.Name" xml:space="preserve">
- <value>label4</value>
- </data>
- <data name="&gt;&gt;label4.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;label4.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;label4.ZOrder" xml:space="preserve">
- <value>10</value>
- </data>
- <data name="&gt;&gt;textBoxArguments.Name" xml:space="preserve">
- <value>textBoxArguments</value>
- </data>
- <data name="&gt;&gt;textBoxArguments.Type" xml:space="preserve">
- <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;textBoxArguments.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;textBoxArguments.ZOrder" xml:space="preserve">
- <value>11</value>
- </data>
- <data name="&gt;&gt;label3.Name" xml:space="preserve">
- <value>label3</value>
- </data>
- <data name="&gt;&gt;label3.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;label3.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
- <value>12</value>
- </data>
- <data name="&gt;&gt;textBoxPublisher.Name" xml:space="preserve">
- <value>textBoxPublisher</value>
- </data>
- <data name="&gt;&gt;textBoxPublisher.Type" xml:space="preserve">
- <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;textBoxPublisher.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;textBoxPublisher.ZOrder" xml:space="preserve">
- <value>13</value>
- </data>
- <data name="&gt;&gt;label2.Name" xml:space="preserve">
- <value>label2</value>
- </data>
- <data name="&gt;&gt;label2.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;label2.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
- <value>14</value>
- </data>
- <data name="&gt;&gt;radioButtonTwo.Name" xml:space="preserve">
- <value>radioButtonTwo</value>
- </data>
- <data name="&gt;&gt;radioButtonTwo.Type" xml:space="preserve">
- <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;radioButtonTwo.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;radioButtonTwo.ZOrder" xml:space="preserve">
- <value>15</value>
- </data>
- <data name="&gt;&gt;radioButtonOne.Name" xml:space="preserve">
- <value>radioButtonOne</value>
- </data>
- <data name="&gt;&gt;radioButtonOne.Type" xml:space="preserve">
- <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;radioButtonOne.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;radioButtonOne.ZOrder" xml:space="preserve">
- <value>16</value>
- </data>
- <data name="&gt;&gt;textBoxName.Name" xml:space="preserve">
- <value>textBoxName</value>
- </data>
- <data name="&gt;&gt;textBoxName.Type" xml:space="preserve">
- <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;textBoxName.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;textBoxName.ZOrder" xml:space="preserve">
- <value>17</value>
- </data>
- <data name="&gt;&gt;labelName.Name" xml:space="preserve">
- <value>labelName</value>
- </data>
- <data name="&gt;&gt;labelName.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;labelName.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;labelName.ZOrder" xml:space="preserve">
- <value>18</value>
- </data>
- <data name="&gt;&gt;labelID.Name" xml:space="preserve">
- <value>labelID</value>
- </data>
- <data name="&gt;&gt;labelID.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;labelID.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;labelID.ZOrder" xml:space="preserve">
- <value>19</value>
- </data>
- <data name="groupBoxOptions.Location" type="System.Drawing.Point, System.Drawing">
- <value>306, 27</value>
- </data>
- <data name="groupBoxOptions.Size" type="System.Drawing.Size, System.Drawing">
- <value>293, 529</value>
- </data>
- <data name="groupBoxOptions.TabIndex" type="System.Int32, mscorlib">
- <value>4</value>
- </data>
- <data name="groupBoxOptions.Text" xml:space="preserve">
- <value>Game options</value>
- </data>
- <data name="&gt;&gt;groupBoxOptions.Name" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;groupBoxOptions.Type" xml:space="preserve">
- <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;groupBoxOptions.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;groupBoxOptions.ZOrder" xml:space="preserve">
- <value>7</value>
- </data>
- <data name="buttonShowGameGenieDatabase.Location" type="System.Drawing.Point, System.Drawing">
- <value>252, 286</value>
- </data>
- <data name="buttonShowGameGenieDatabase.Size" type="System.Drawing.Size, System.Drawing">
- <value>25, 20</value>
- </data>
- <data name="buttonShowGameGenieDatabase.TabIndex" type="System.Int32, mscorlib">
- <value>12</value>
- </data>
- <data name="buttonShowGameGenieDatabase.Text" xml:space="preserve">
- <value>+</value>
- </data>
- <data name="&gt;&gt;buttonShowGameGenieDatabase.Name" xml:space="preserve">
- <value>buttonShowGameGenieDatabase</value>
- </data>
- <data name="&gt;&gt;buttonShowGameGenieDatabase.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonShowGameGenieDatabase.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;buttonShowGameGenieDatabase.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <data name="maskedTextBoxReleaseDate.Location" type="System.Drawing.Point, System.Drawing">
- <value>210, 154</value>
- </data>
- <data name="maskedTextBoxReleaseDate.Mask" xml:space="preserve">
- <value>0000-00-00</value>
- </data>
- <data name="maskedTextBoxReleaseDate.Size" type="System.Drawing.Size, System.Drawing">
- <value>65, 20</value>
- </data>
- <data name="maskedTextBoxReleaseDate.TabIndex" type="System.Int32, mscorlib">
- <value>6</value>
- </data>
- <data name="&gt;&gt;maskedTextBoxReleaseDate.Name" xml:space="preserve">
- <value>maskedTextBoxReleaseDate</value>
- </data>
- <data name="&gt;&gt;maskedTextBoxReleaseDate.Type" xml:space="preserve">
- <value>System.Windows.Forms.MaskedTextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;maskedTextBoxReleaseDate.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;maskedTextBoxReleaseDate.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
- <data name="label1.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
- <value>15, 157</value>
- </data>
- <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
- <value>150, 13</value>
- </data>
- <data name="label1.TabIndex" type="System.Int32, mscorlib">
- <value>5</value>
- </data>
- <data name="label1.Text" xml:space="preserve">
- <value>Release date (YYYY-MM-DD):</value>
- </data>
- <data name="&gt;&gt;label1.Name" xml:space="preserve">
- <value>label1</value>
- </data>
- <data name="&gt;&gt;label1.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;label1.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
- <value>2</value>
- </data>
- <data name="textBoxGameGenie.Location" type="System.Drawing.Point, System.Drawing">
- <value>19, 286</value>
- </data>
- <data name="textBoxGameGenie.Size" type="System.Drawing.Size, System.Drawing">
- <value>227, 20</value>
- </data>
- <data name="textBoxGameGenie.TabIndex" type="System.Int32, mscorlib">
- <value>11</value>
- </data>
- <data name="&gt;&gt;textBoxGameGenie.Name" xml:space="preserve">
- <value>textBoxGameGenie</value>
- </data>
- <data name="&gt;&gt;textBoxGameGenie.Type" xml:space="preserve">
- <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;textBoxGameGenie.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;textBoxGameGenie.ZOrder" xml:space="preserve">
- <value>3</value>
- </data>
- <data name="label7.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="label7.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
- <value>NoControl</value>
- </data>
- <data name="label7.Location" type="System.Drawing.Point, System.Drawing">
- <value>16, 269</value>
- </data>
- <data name="label7.Size" type="System.Drawing.Size, System.Drawing">
- <value>194, 13</value>
- </data>
- <data name="label7.TabIndex" type="System.Int32, mscorlib">
- <value>17</value>
- </data>
- <data name="label7.Text" xml:space="preserve">
- <value>Game Genie codes (comma separated):</value>
- </data>
- <data name="&gt;&gt;label7.Name" xml:space="preserve">
- <value>label7</value>
- </data>
- <data name="&gt;&gt;label7.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;label7.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;label7.ZOrder" xml:space="preserve">
- <value>4</value>
- </data>
- <data name="label6.Location" type="System.Drawing.Point, System.Drawing">
- <value>15, 76</value>
- </data>
- <data name="label6.Size" type="System.Drawing.Size, System.Drawing">
- <value>82, 63</value>
- </data>
- <data name="label6.TabIndex" type="System.Int32, mscorlib">
- <value>16</value>
- </data>
- <data name="label6.Text" xml:space="preserve">
- <value>Max players:</value>
- </data>
- <data name="label6.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
- <value>MiddleLeft</value>
- </data>
- <data name="&gt;&gt;label6.Name" xml:space="preserve">
- <value>label6</value>
- </data>
- <data name="&gt;&gt;label6.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;label6.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;label6.ZOrder" xml:space="preserve">
- <value>5</value>
- </data>
- <data name="radioButtonTwoSim.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="radioButtonTwoSim.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
- <value>NoControl</value>
- </data>
- <data name="radioButtonTwoSim.Location" type="System.Drawing.Point, System.Drawing">
- <value>103, 122</value>
- </data>
- <data name="radioButtonTwoSim.Size" type="System.Drawing.Size, System.Drawing">
- <value>156, 17</value>
- </data>
- <data name="radioButtonTwoSim.TabIndex" type="System.Int32, mscorlib">
- <value>5</value>
- </data>
- <data name="radioButtonTwoSim.Text" xml:space="preserve">
- <value>Two players, simultaneously</value>
- </data>
- <data name="&gt;&gt;radioButtonTwoSim.Name" xml:space="preserve">
- <value>radioButtonTwoSim</value>
- </data>
- <data name="&gt;&gt;radioButtonTwoSim.Type" xml:space="preserve">
- <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;radioButtonTwoSim.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;radioButtonTwoSim.ZOrder" xml:space="preserve">
- <value>6</value>
- </data>
- <data name="buttonGoogle.Location" type="System.Drawing.Point, System.Drawing">
- <value>219, 427</value>
- </data>
- <data name="buttonGoogle.Size" type="System.Drawing.Size, System.Drawing">
- <value>61, 23</value>
- </data>
- <data name="buttonGoogle.TabIndex" type="System.Int32, mscorlib">
- <value>15</value>
- </data>
- <data name="buttonGoogle.Text" xml:space="preserve">
- <value>Google</value>
- </data>
- <data name="&gt;&gt;buttonGoogle.Name" xml:space="preserve">
- <value>buttonGoogle</value>
- </data>
- <data name="&gt;&gt;buttonGoogle.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonGoogle.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;buttonGoogle.ZOrder" xml:space="preserve">
- <value>7</value>
- </data>
- <data name="buttonBrowseImage.Location" type="System.Drawing.Point, System.Drawing">
- <value>219, 384</value>
- </data>
- <data name="buttonBrowseImage.Size" type="System.Drawing.Size, System.Drawing">
- <value>61, 23</value>
- </data>
- <data name="buttonBrowseImage.TabIndex" type="System.Int32, mscorlib">
- <value>13</value>
- </data>
- <data name="buttonBrowseImage.Text" xml:space="preserve">
- <value>Browse</value>
- </data>
- <data name="&gt;&gt;buttonBrowseImage.Name" xml:space="preserve">
- <value>buttonBrowseImage</value>
- </data>
- <data name="&gt;&gt;buttonBrowseImage.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonBrowseImage.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;buttonBrowseImage.ZOrder" xml:space="preserve">
- <value>8</value>
- </data>
- <data name="pictureBoxArt.Location" type="System.Drawing.Point, System.Drawing">
- <value>71, 316</value>
- </data>
- <data name="pictureBoxArt.Size" type="System.Drawing.Size, System.Drawing">
- <value>140, 204</value>
- </data>
- <data name="pictureBoxArt.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
- <value>Zoom</value>
- </data>
- <data name="pictureBoxArt.TabIndex" type="System.Int32, mscorlib">
- <value>12</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.Name" xml:space="preserve">
- <value>pictureBoxArt</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.Type" xml:space="preserve">
- <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.ZOrder" xml:space="preserve">
- <value>9</value>
- </data>
- <data name="label4.Location" type="System.Drawing.Point, System.Drawing">
- <value>15, 316</value>
- </data>
- <data name="label4.Size" type="System.Drawing.Size, System.Drawing">
- <value>53, 204</value>
- </data>
- <data name="label4.TabIndex" type="System.Int32, mscorlib">
- <value>11</value>
- </data>
- <data name="label4.Text" xml:space="preserve">
- <value>Box art:</value>
- </data>
- <data name="label4.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
- <value>MiddleCenter</value>
- </data>
- <data name="&gt;&gt;label4.Name" xml:space="preserve">
- <value>label4</value>
- </data>
- <data name="&gt;&gt;label4.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;label4.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;label4.ZOrder" xml:space="preserve">
- <value>10</value>
- </data>
- <data name="textBoxArguments.Location" type="System.Drawing.Point, System.Drawing">
- <value>18, 237</value>
- </data>
- <data name="textBoxArguments.Size" type="System.Drawing.Size, System.Drawing">
- <value>257, 20</value>
- </data>
- <data name="textBoxArguments.TabIndex" type="System.Int32, mscorlib">
- <value>10</value>
- </data>
- <data name="&gt;&gt;textBoxArguments.Name" xml:space="preserve">
- <value>textBoxArguments</value>
- </data>
- <data name="&gt;&gt;textBoxArguments.Type" xml:space="preserve">
- <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;textBoxArguments.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;textBoxArguments.ZOrder" xml:space="preserve">
- <value>11</value>
- </data>
- <data name="label3.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
- <value>15, 220</value>
- </data>
- <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
- <value>253, 13</value>
- </data>
- <data name="label3.TabIndex" type="System.Int32, mscorlib">
- <value>9</value>
- </data>
- <data name="label3.Text" xml:space="preserve">
- <value>Command line arguments (for advanced users only!):</value>
- </data>
- <data name="&gt;&gt;label3.Name" xml:space="preserve">
- <value>label3</value>
- </data>
- <data name="&gt;&gt;label3.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;label3.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
- <value>12</value>
- </data>
- <data name="textBoxPublisher.Location" type="System.Drawing.Point, System.Drawing">
- <value>71, 186</value>
- </data>
- <data name="textBoxPublisher.Size" type="System.Drawing.Size, System.Drawing">
- <value>204, 20</value>
- </data>
- <data name="textBoxPublisher.TabIndex" type="System.Int32, mscorlib">
- <value>8</value>
- </data>
- <data name="&gt;&gt;textBoxPublisher.Name" xml:space="preserve">
- <value>textBoxPublisher</value>
- </data>
- <data name="&gt;&gt;textBoxPublisher.Type" xml:space="preserve">
- <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;textBoxPublisher.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;textBoxPublisher.ZOrder" xml:space="preserve">
- <value>13</value>
- </data>
- <data name="label2.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
- <value>15, 189</value>
- </data>
- <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
- <value>53, 13</value>
- </data>
- <data name="label2.TabIndex" type="System.Int32, mscorlib">
- <value>7</value>
- </data>
- <data name="label2.Text" xml:space="preserve">
- <value>Publisher:</value>
- </data>
- <data name="&gt;&gt;label2.Name" xml:space="preserve">
- <value>label2</value>
- </data>
- <data name="&gt;&gt;label2.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;label2.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
- <value>14</value>
- </data>
- <data name="radioButtonTwo.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="radioButtonTwo.Location" type="System.Drawing.Point, System.Drawing">
- <value>103, 99</value>
- </data>
- <data name="radioButtonTwo.Size" type="System.Drawing.Size, System.Drawing">
- <value>174, 17</value>
- </data>
- <data name="radioButtonTwo.TabIndex" type="System.Int32, mscorlib">
- <value>4</value>
- </data>
- <data name="radioButtonTwo.Text" xml:space="preserve">
- <value>Two players, not simultaneously</value>
- </data>
- <data name="&gt;&gt;radioButtonTwo.Name" xml:space="preserve">
- <value>radioButtonTwo</value>
- </data>
- <data name="&gt;&gt;radioButtonTwo.Type" xml:space="preserve">
- <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;radioButtonTwo.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;radioButtonTwo.ZOrder" xml:space="preserve">
- <value>15</value>
- </data>
- <data name="radioButtonOne.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="radioButtonOne.Location" type="System.Drawing.Point, System.Drawing">
- <value>103, 76</value>
- </data>
- <data name="radioButtonOne.Size" type="System.Drawing.Size, System.Drawing">
- <value>76, 17</value>
- </data>
- <data name="radioButtonOne.TabIndex" type="System.Int32, mscorlib">
- <value>3</value>
- </data>
- <data name="radioButtonOne.Text" xml:space="preserve">
- <value>One player</value>
- </data>
- <data name="&gt;&gt;radioButtonOne.Name" xml:space="preserve">
- <value>radioButtonOne</value>
- </data>
- <data name="&gt;&gt;radioButtonOne.Type" xml:space="preserve">
- <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;radioButtonOne.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;radioButtonOne.ZOrder" xml:space="preserve">
- <value>16</value>
- </data>
- <data name="textBoxName.Location" type="System.Drawing.Point, System.Drawing">
- <value>59, 46</value>
- </data>
- <data name="textBoxName.Size" type="System.Drawing.Size, System.Drawing">
- <value>216, 20</value>
- </data>
- <data name="textBoxName.TabIndex" type="System.Int32, mscorlib">
- <value>2</value>
- </data>
- <data name="&gt;&gt;textBoxName.Name" xml:space="preserve">
- <value>textBoxName</value>
- </data>
- <data name="&gt;&gt;textBoxName.Type" xml:space="preserve">
- <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;textBoxName.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;textBoxName.ZOrder" xml:space="preserve">
- <value>17</value>
- </data>
- <data name="labelName.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="labelName.Location" type="System.Drawing.Point, System.Drawing">
- <value>15, 49</value>
- </data>
- <data name="labelName.Size" type="System.Drawing.Size, System.Drawing">
- <value>38, 13</value>
- </data>
- <data name="labelName.TabIndex" type="System.Int32, mscorlib">
- <value>1</value>
- </data>
- <data name="labelName.Text" xml:space="preserve">
- <value>Name:</value>
- </data>
- <data name="&gt;&gt;labelName.Name" xml:space="preserve">
- <value>labelName</value>
- </data>
- <data name="&gt;&gt;labelName.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;labelName.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;labelName.ZOrder" xml:space="preserve">
- <value>18</value>
- </data>
- <data name="labelID.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="labelID.Location" type="System.Drawing.Point, System.Drawing">
- <value>15, 21</value>
- </data>
- <data name="labelID.Size" type="System.Drawing.Size, System.Drawing">
- <value>21, 13</value>
- </data>
- <data name="labelID.TabIndex" type="System.Int32, mscorlib">
- <value>0</value>
- </data>
- <data name="labelID.Text" xml:space="preserve">
- <value>ID:</value>
- </data>
- <data name="&gt;&gt;labelID.Name" xml:space="preserve">
- <value>labelID</value>
- </data>
- <data name="&gt;&gt;labelID.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;labelID.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;labelID.ZOrder" xml:space="preserve">
- <value>19</value>
- </data>
- <data name="label5.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>None</value>
- </data>
- <data name="label5.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="label5.Location" type="System.Drawing.Point, System.Drawing">
- <value>12, 33</value>
- </data>
- <data name="label5.Size" type="System.Drawing.Size, System.Drawing">
- <value>74, 13</value>
- </data>
- <data name="label5.TabIndex" type="System.Int32, mscorlib">
- <value>4</value>
- </data>
- <data name="label5.Text" xml:space="preserve">
- <value>Select games:</value>
- </data>
- <data name="&gt;&gt;label5.Name" xml:space="preserve">
- <value>label5</value>
- </data>
- <data name="&gt;&gt;label5.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;label5.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;label5.ZOrder" xml:space="preserve">
- <value>4</value>
- </data>
- <data name="buttonAddGames.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>None</value>
- </data>
- <data name="buttonAddGames.Location" type="System.Drawing.Point, System.Drawing">
- <value>12, 568</value>
- </data>
- <data name="buttonAddGames.Size" type="System.Drawing.Size, System.Drawing">
- <value>282, 38</value>
- </data>
- <data name="buttonAddGames.TabIndex" type="System.Int32, mscorlib">
- <value>5</value>
- </data>
- <data name="buttonAddGames.Text" xml:space="preserve">
- <value>Add more games</value>
- </data>
- <data name="&gt;&gt;buttonAddGames.Name" xml:space="preserve">
- <value>buttonAddGames</value>
- </data>
- <data name="&gt;&gt;buttonAddGames.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonAddGames.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;buttonAddGames.ZOrder" xml:space="preserve">
- <value>3</value>
- </data>
- <metadata name="statusStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>109, 17</value>
- </metadata>
- <data name="toolStripStatusConnectionIcon.AutoSize" type="System.Boolean, mscorlib">
- <value>False</value>
- </data>
- <data name="toolStripStatusConnectionIcon.Size" type="System.Drawing.Size, System.Drawing">
- <value>16, 17</value>
- </data>
- <data name="toolStripStatusLabelSelected.AutoSize" type="System.Boolean, mscorlib">
- <value>False</value>
- </data>
- <data name="toolStripStatusLabelSelected.Size" type="System.Drawing.Size, System.Drawing">
- <value>195, 17</value>
- </data>
- <data name="toolStripStatusLabelSize.AutoSize" type="System.Boolean, mscorlib">
- <value>False</value>
- </data>
- <data name="toolStripStatusLabelSize.Size" type="System.Drawing.Size, System.Drawing">
- <value>195, 17</value>
- </data>
- <data name="toolStripProgressBar.Size" type="System.Drawing.Size, System.Drawing">
- <value>195, 16</value>
- </data>
- <data name="statusStrip.Location" type="System.Drawing.Point, System.Drawing">
- <value>0, 615</value>
- </data>
- <data name="statusStrip.Size" type="System.Drawing.Size, System.Drawing">
- <value>609, 22</value>
- </data>
- <data name="statusStrip.TabIndex" type="System.Int32, mscorlib">
- <value>6</value>
- </data>
- <data name="statusStrip.Text" xml:space="preserve">
- <value>statusStrip1</value>
- </data>
- <data name="&gt;&gt;statusStrip.Name" xml:space="preserve">
- <value>statusStrip</value>
- </data>
- <data name="&gt;&gt;statusStrip.Type" xml:space="preserve">
- <value>System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;statusStrip.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;statusStrip.ZOrder" xml:space="preserve">
- <value>2</value>
- </data>
- <metadata name="openFileDialogNes.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>202, 17</value>
- </metadata>
- <data name="openFileDialogNes.Title" xml:space="preserve">
- <value>Select NES file(s)</value>
- </data>
- <metadata name="contextMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>340, 17</value>
- </metadata>
- <data name="contextMenuStrip.Size" type="System.Drawing.Size, System.Drawing">
- <value>141, 70</value>
- </data>
- <data name="&gt;&gt;contextMenuStrip.Name" xml:space="preserve">
- <value>contextMenuStrip</value>
- </data>
- <data name="&gt;&gt;contextMenuStrip.Type" xml:space="preserve">
- <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="selectAllToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>140, 22</value>
- </data>
- <data name="selectAllToolStripMenuItem.Text" xml:space="preserve">
- <value>Select all</value>
- </data>
- <data name="unselectAllToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>140, 22</value>
- </data>
- <data name="unselectAllToolStripMenuItem.Text" xml:space="preserve">
- <value>Unselect all</value>
- </data>
- <data name="deleteGameToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>140, 22</value>
- </data>
- <data name="deleteGameToolStripMenuItem.Text" xml:space="preserve">
- <value>Delete game</value>
- </data>
- <metadata name="openFileDialogImage.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>624, 17</value>
- </metadata>
- <data name="openFileDialogImage.Filter" xml:space="preserve">
- <value>Images (*.bmp;*.png;*.jpg;*.jpeg;*.gif)|*.bmp;*.png;*.jpg;*.jpeg;*.gif|All files|*.*</value>
- </data>
- <data name="openFileDialogImage.Title" xml:space="preserve">
- <value>Select cover for game</value>
- </data>
- <data name="buttonStart.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>None</value>
- </data>
- <data name="buttonStart.Location" type="System.Drawing.Point, System.Drawing">
- <value>306, 568</value>
- </data>
- <data name="buttonStart.Size" type="System.Drawing.Size, System.Drawing">
- <value>293, 38</value>
- </data>
- <data name="buttonStart.TabIndex" type="System.Int32, mscorlib">
- <value>6</value>
- </data>
- <data name="buttonStart.Text" xml:space="preserve">
- <value>Synchronize selected games with NES Mini</value>
- </data>
- <data name="&gt;&gt;buttonStart.Name" xml:space="preserve">
- <value>buttonStart</value>
- </data>
- <data name="&gt;&gt;buttonStart.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonStart.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;buttonStart.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
- <data name="groupBoxDefaultGames.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>None</value>
- </data>
- <data name="&gt;&gt;checkedListBoxDefaultGames.Name" xml:space="preserve">
- <value>checkedListBoxDefaultGames</value>
- </data>
- <data name="&gt;&gt;checkedListBoxDefaultGames.Type" xml:space="preserve">
- <value>System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;checkedListBoxDefaultGames.Parent" xml:space="preserve">
- <value>groupBoxDefaultGames</value>
- </data>
- <data name="&gt;&gt;checkedListBoxDefaultGames.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <data name="groupBoxDefaultGames.Location" type="System.Drawing.Point, System.Drawing">
- <value>306, 27</value>
- </data>
- <data name="groupBoxDefaultGames.Size" type="System.Drawing.Size, System.Drawing">
- <value>293, 529</value>
- </data>
- <data name="groupBoxDefaultGames.TabIndex" type="System.Int32, mscorlib">
- <value>3</value>
- </data>
- <data name="groupBoxDefaultGames.Text" xml:space="preserve">
- <value>You can hide some default games</value>
- </data>
- <data name="groupBoxDefaultGames.Visible" type="System.Boolean, mscorlib">
- <value>False</value>
- </data>
- <data name="&gt;&gt;groupBoxDefaultGames.Name" xml:space="preserve">
- <value>groupBoxDefaultGames</value>
- </data>
- <data name="&gt;&gt;groupBoxDefaultGames.Type" xml:space="preserve">
- <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;groupBoxDefaultGames.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;groupBoxDefaultGames.ZOrder" xml:space="preserve">
- <value>8</value>
- </data>
- <data name="checkedListBoxDefaultGames.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Top, Bottom, Left, Right</value>
- </data>
- <data name="checkedListBoxDefaultGames.Location" type="System.Drawing.Point, System.Drawing">
- <value>5, 49</value>
- </data>
- <data name="checkedListBoxDefaultGames.Size" type="System.Drawing.Size, System.Drawing">
- <value>282, 454</value>
- </data>
- <data name="checkedListBoxDefaultGames.TabIndex" type="System.Int32, mscorlib">
- <value>3</value>
- </data>
- <data name="&gt;&gt;checkedListBoxDefaultGames.Name" xml:space="preserve">
- <value>checkedListBoxDefaultGames</value>
- </data>
- <data name="&gt;&gt;checkedListBoxDefaultGames.Type" xml:space="preserve">
- <value>System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;checkedListBoxDefaultGames.Parent" xml:space="preserve">
- <value>groupBoxDefaultGames</value>
- </data>
- <data name="&gt;&gt;checkedListBoxDefaultGames.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <metadata name="timerCalculateGames.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>473, 17</value>
- </metadata>
- <metadata name="timerConnectionCheck.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>775, 17</value>
- </metadata>
- <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <value>True</value>
- </metadata>
- <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <value>149</value>
- </metadata>
- <metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <value>True</value>
- </metadata>
- <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
- <value>6, 13</value>
- </data>
- <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
- <value>609, 637</value>
- </data>
- <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
- AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/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/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/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
- AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
- DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
- EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
- EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
- AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
- ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
- jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
- of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
- tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
- pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
- lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
- hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
- AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
- i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
- kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
- qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
- wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
- wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
- r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
- nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
- kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
- AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
- nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
- rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
- vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
- 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
- wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
- s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
- pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
- Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
- o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
- p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
- qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
- qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
- qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
- pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
- kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
- o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
- tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
- xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
- wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
- rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
- nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
- qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
- j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
- o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
- uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
- zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
- 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
- xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
- sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
- nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
- rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
- uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
- yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
- 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
- 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
- vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
- qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
- k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
- 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
- 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
- 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
- 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
- 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
- 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
- yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
- t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
- 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
- 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
- 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
- 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
- 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
- l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
- tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
- sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
- n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
- ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
- 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
- 7v/z8fH/19XV/ykoKP8AAAD/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/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
- Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
- Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
- Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
- GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
- IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
- Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
- U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
- HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
- I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
- Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
- 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
- A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
- WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
- Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
- GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
- N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
- Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
- B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
- Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
- Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
- HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
- I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
- Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
- mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
- A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
- Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
- G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
- Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
- bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
- Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
- AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
- Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
- B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
- Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
- FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
- ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
- af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
- K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
- AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
- BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
- Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
- Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
- F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
- ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
- ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
- m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
- cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
- CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
- eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
- dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
- +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
- +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
- LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
- AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
- Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
- 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
- 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
- yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
- 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
- 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
- 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
- B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
- CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
- 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
- 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
- zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
- 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
- LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
- AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
- Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
- Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
- 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
- zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
- vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
- t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
- 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
- pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
- A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
- Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
- G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
- JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
- s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
- 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
- LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
- AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
- uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
- BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
- Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
- zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
- 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
- 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
- dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
- Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
- fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
- dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
- vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
- e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
- Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
- AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
- xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
- Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
- Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
- 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
- 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
- t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
- 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
- PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
- EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
- uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
- q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
- Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
- GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
- Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
- AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
- V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
- Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
- Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
- p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
- m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
- 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
- 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
- N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
- 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
- Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
- Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
- Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
- Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
- JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
- g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
- x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
- AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
- AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
- Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
- Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
- EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
- Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
- 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
- zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
- Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
- UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
- Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
- JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
- If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
- NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
- Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
- RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
- Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
- AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
- AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
- Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
- HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
- Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
- TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
- Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
- J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
- Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
- AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
- N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
- Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
- WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
- UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
- PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
- LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
- L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
- UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
- AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
- TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
- Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
- bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
- mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
- LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
- Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
- Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
- AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
- Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
- Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
- Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
- Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
- TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
- Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
- L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
- 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
- Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
- N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
- NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
- Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
- Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
- Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
- L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
- M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
- AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
- Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
- Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
- M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
- Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
- Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
- Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
- MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
- 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
- qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
- Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
- Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
- MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
- Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
- L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
- MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
- NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
- ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
- P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
- jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
- Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
- Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
- Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
- LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
- Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
- 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
- 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
- Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
- OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
- T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
- MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
- Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
- NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
- ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
- Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
- Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
- Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
- U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
- S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
- vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
- t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
- tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
- zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
- fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
- Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
- T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
- Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
- s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
- NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
- APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
- Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
- Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
- OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
- U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
- m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
- kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
- Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
- xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
- QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
- Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
- Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
- Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
- M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
- Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
- Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
- AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
- RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
- O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
- Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
- Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
- Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
- M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
- NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
- N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
- Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
- Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
- PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
- OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
- Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
- Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
- NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
- N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
- AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
- R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
- QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
- O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
- Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
- R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
- Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
- Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
- Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
- AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
- Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
- Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
- Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
- Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
- Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
- Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
- N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
- Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
- Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
- Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
- Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
- Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
- Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
- Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
- N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
- Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
- AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
- Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
- PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
- Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
- UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
- Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
- NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
- Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
- rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
- hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
- Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
- Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
- Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
- XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
- Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
- R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
- TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
- AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
- l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
- mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
- mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
- nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
- m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
- mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
- mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
- zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
- 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
- AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
- 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
- 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
- AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
- 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
- fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
- AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
- kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
- AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/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/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AGYAAADmAAAA/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/wAAAP8AAADmAAAAZgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
- AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
- AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
- AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
- AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////8=
-</value>
- </data>
- <data name="$this.MaximumSize" type="System.Drawing.Size, System.Drawing">
- <value>625, 675</value>
- </data>
- <data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
- <value>625, 675</value>
- </data>
- <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
- <value>CenterScreen</value>
- </data>
- <data name="$this.Text" xml:space="preserve">
- <value>hakchi2</value>
- </data>
- <data name="&gt;&gt;fileToolStripMenuItem.Name" xml:space="preserve">
- <value>fileToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;fileToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;addMoreGamesToolStripMenuItem.Name" xml:space="preserve">
- <value>addMoreGamesToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;addMoreGamesToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;presetsToolStripMenuItem.Name" xml:space="preserve">
- <value>presetsToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;presetsToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;toolStripMenuItem2.Name" xml:space="preserve">
- <value>toolStripMenuItem2</value>
- </data>
- <data name="&gt;&gt;toolStripMenuItem2.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;addPresetToolStripMenuItem.Name" xml:space="preserve">
- <value>addPresetToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;addPresetToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;deletePresetToolStripMenuItem.Name" xml:space="preserve">
- <value>deletePresetToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;deletePresetToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;synchronizeToolStripMenuItem.Name" xml:space="preserve">
- <value>synchronizeToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;synchronizeToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;searchToolStripMenuItem.Name" xml:space="preserve">
- <value>searchToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;searchToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;downloadCoversForAllGamesToolStripMenuItem.Name" xml:space="preserve">
- <value>downloadCoversForAllGamesToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;downloadCoversForAllGamesToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;toolStripMenuItem1.Name" xml:space="preserve">
- <value>toolStripMenuItem1</value>
- </data>
- <data name="&gt;&gt;toolStripMenuItem1.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;exitToolStripMenuItem.Name" xml:space="preserve">
- <value>exitToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;exitToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;kernelToolStripMenuItem.Name" xml:space="preserve">
- <value>kernelToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;kernelToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;dumpKernelToolStripMenuItem.Name" xml:space="preserve">
- <value>dumpKernelToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;dumpKernelToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;flashOriginalKernelToolStripMenuItem.Name" xml:space="preserve">
- <value>flashOriginalKernelToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;flashOriginalKernelToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;flashCustomKernelToolStripMenuItem.Name" xml:space="preserve">
- <value>flashCustomKernelToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;flashCustomKernelToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;uninstallToolStripMenuItem.Name" xml:space="preserve">
- <value>uninstallToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;uninstallToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;modulesToolStripMenuItem.Name" xml:space="preserve">
- <value>modulesToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;modulesToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;installModulesToolStripMenuItem.Name" xml:space="preserve">
- <value>installModulesToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;installModulesToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;uninstallModulesToolStripMenuItem.Name" xml:space="preserve">
- <value>uninstallModulesToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;uninstallModulesToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;settingsToolStripMenuItem.Name" xml:space="preserve">
- <value>settingsToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;settingsToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;languageToolStripMenuItem.Name" xml:space="preserve">
- <value>languageToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;languageToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;consoleTypeToolStripMenuItem.Name" xml:space="preserve">
- <value>consoleTypeToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;consoleTypeToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;nESMiniToolStripMenuItem.Name" xml:space="preserve">
- <value>nESMiniToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;nESMiniToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;famicomMiniToolStripMenuItem.Name" xml:space="preserve">
- <value>famicomMiniToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;famicomMiniToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;cloverconHackToolStripMenuItem.Name" xml:space="preserve">
- <value>cloverconHackToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;cloverconHackToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;resetUsingCombinationOfButtonsToolStripMenuItem.Name" xml:space="preserve">
- <value>resetUsingCombinationOfButtonsToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;resetUsingCombinationOfButtonsToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;selectButtonCombinationToolStripMenuItem.Name" xml:space="preserve">
- <value>selectButtonCombinationToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;selectButtonCombinationToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;enableAutofireToolStripMenuItem.Name" xml:space="preserve">
- <value>enableAutofireToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;enableAutofireToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;useXYOnClassicControllerAsAutofireABToolStripMenuItem.Name" xml:space="preserve">
- <value>useXYOnClassicControllerAsAutofireABToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;useXYOnClassicControllerAsAutofireABToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;upABStartOnSecondControllerToolStripMenuItem.Name" xml:space="preserve">
- <value>upABStartOnSecondControllerToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;upABStartOnSecondControllerToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;useExtendedFontToolStripMenuItem.Name" xml:space="preserve">
- <value>useExtendedFontToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;useExtendedFontToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;epilepsyProtectionToolStripMenuItem.Name" xml:space="preserve">
- <value>epilepsyProtectionToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;epilepsyProtectionToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;compressGamesIfPossibleToolStripMenuItem.Name" xml:space="preserve">
- <value>compressGamesIfPossibleToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;compressGamesIfPossibleToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;pagesfoldersTypeToolStripMenuItem.Name" xml:space="preserve">
- <value>pagesfoldersTypeToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;pagesfoldersTypeToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;disablePagefoldersToolStripMenuItem.Name" xml:space="preserve">
- <value>disablePagefoldersToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;disablePagefoldersToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;toolStripMenuItem3.Name" xml:space="preserve">
- <value>toolStripMenuItem3</value>
- </data>
- <data name="&gt;&gt;toolStripMenuItem3.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;automaticToolStripMenuItem.Name" xml:space="preserve">
- <value>automaticToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;automaticToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;automaticOriginalToolStripMenuItem.Name" xml:space="preserve">
- <value>automaticOriginalToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;automaticOriginalToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;pagesToolStripMenuItem.Name" xml:space="preserve">
- <value>pagesToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;pagesToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;pagesOriginalToolStripMenuItem.Name" xml:space="preserve">
- <value>pagesOriginalToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;pagesOriginalToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;foldersToolStripMenuItem.Name" xml:space="preserve">
- <value>foldersToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;foldersToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;foldersOriginalToolStripMenuItem.Name" xml:space="preserve">
- <value>foldersOriginalToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;foldersOriginalToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;foldersSplitByFirstLetterToolStripMenuItem.Name" xml:space="preserve">
- <value>foldersSplitByFirstLetterToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;foldersSplitByFirstLetterToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;foldersSplitByFirstLetterOriginalToolStripMenuItem.Name" xml:space="preserve">
- <value>foldersSplitByFirstLetterOriginalToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;foldersSplitByFirstLetterOriginalToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;maximumGamesPerFolderToolStripMenuItem.Name" xml:space="preserve">
- <value>maximumGamesPerFolderToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;maximumGamesPerFolderToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;max20toolStripMenuItem.Name" xml:space="preserve">
- <value>max20toolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;max20toolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;max25toolStripMenuItem.Name" xml:space="preserve">
- <value>max25toolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;max25toolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;max30toolStripMenuItem.Name" xml:space="preserve">
- <value>max30toolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;max30toolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;max35toolStripMenuItem.Name" xml:space="preserve">
- <value>max35toolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;max35toolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;max40toolStripMenuItem.Name" xml:space="preserve">
- <value>max40toolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;max40toolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;max45toolStripMenuItem.Name" xml:space="preserve">
- <value>max45toolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;max45toolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;max50toolStripMenuItem.Name" xml:space="preserve">
- <value>max50toolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;max50toolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;max60toolStripMenuItem.Name" xml:space="preserve">
- <value>max60toolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;max60toolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;max70toolStripMenuItem.Name" xml:space="preserve">
- <value>max70toolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;max70toolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;max80toolStripMenuItem.Name" xml:space="preserve">
- <value>max80toolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;max80toolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;max90toolStripMenuItem.Name" xml:space="preserve">
- <value>max90toolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;max90toolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;max100toolStripMenuItem.Name" xml:space="preserve">
- <value>max100toolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;max100toolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;toolStripMenuItem4.Name" xml:space="preserve">
- <value>toolStripMenuItem4</value>
- </data>
- <data name="&gt;&gt;toolStripMenuItem4.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;customToolStripMenuItem.Name" xml:space="preserve">
- <value>customToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;customToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Name" xml:space="preserve">
- <value>globalCommandLineArgumentsexpertsOnluToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;toolStripMenuItem5.Name" xml:space="preserve">
- <value>toolStripMenuItem5</value>
- </data>
- <data name="&gt;&gt;toolStripMenuItem5.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;saveSettingsToNESMiniNowToolStripMenuItem.Name" xml:space="preserve">
- <value>saveSettingsToNESMiniNowToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;saveSettingsToNESMiniNowToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;toolsToolStripMenuItem.Name" xml:space="preserve">
- <value>toolsToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;toolsToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;saveStateManagerToolStripMenuItem.Name" xml:space="preserve">
- <value>saveStateManagerToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;saveStateManagerToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;toolStripMenuItem6.Name" xml:space="preserve">
- <value>toolStripMenuItem6</value>
- </data>
- <data name="&gt;&gt;toolStripMenuItem6.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;FTPToolStripMenuItem.Name" xml:space="preserve">
- <value>FTPToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;FTPToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;openFTPInExplorerToolStripMenuItem.Name" xml:space="preserve">
- <value>openFTPInExplorerToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;openFTPInExplorerToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;toolStripMenuItem7.Name" xml:space="preserve">
- <value>toolStripMenuItem7</value>
- </data>
- <data name="&gt;&gt;toolStripMenuItem7.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;shellToolStripMenuItem.Name" xml:space="preserve">
- <value>shellToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;shellToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;openTelnetToolStripMenuItem.Name" xml:space="preserve">
- <value>openTelnetToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;openTelnetToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;toolStripMenuItem8.Name" xml:space="preserve">
- <value>toolStripMenuItem8</value>
- </data>
- <data name="&gt;&gt;toolStripMenuItem8.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;takeScreenshotToolStripMenuItem.Name" xml:space="preserve">
- <value>takeScreenshotToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;takeScreenshotToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;helpToolStripMenuItem.Name" xml:space="preserve">
- <value>helpToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;helpToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;gitHubPageWithActualReleasesToolStripMenuItem.Name" xml:space="preserve">
- <value>gitHubPageWithActualReleasesToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;gitHubPageWithActualReleasesToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;fAQToolStripMenuItem.Name" xml:space="preserve">
- <value>fAQToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;fAQToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;aboutToolStripMenuItem.Name" xml:space="preserve">
- <value>aboutToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;aboutToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;toolStripStatusConnectionIcon.Name" xml:space="preserve">
- <value>toolStripStatusConnectionIcon</value>
- </data>
- <data name="&gt;&gt;toolStripStatusConnectionIcon.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;toolStripStatusLabelSelected.Name" xml:space="preserve">
- <value>toolStripStatusLabelSelected</value>
- </data>
- <data name="&gt;&gt;toolStripStatusLabelSelected.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;toolStripStatusLabelSize.Name" xml:space="preserve">
- <value>toolStripStatusLabelSize</value>
- </data>
- <data name="&gt;&gt;toolStripStatusLabelSize.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;toolStripProgressBar.Name" xml:space="preserve">
- <value>toolStripProgressBar</value>
- </data>
- <data name="&gt;&gt;toolStripProgressBar.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripProgressBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;openFileDialogNes.Name" xml:space="preserve">
- <value>openFileDialogNes</value>
- </data>
- <data name="&gt;&gt;openFileDialogNes.Type" xml:space="preserve">
- <value>System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;selectAllToolStripMenuItem.Name" xml:space="preserve">
- <value>selectAllToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;selectAllToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;unselectAllToolStripMenuItem.Name" xml:space="preserve">
- <value>unselectAllToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;unselectAllToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;deleteGameToolStripMenuItem.Name" xml:space="preserve">
- <value>deleteGameToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;deleteGameToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;openFileDialogImage.Name" xml:space="preserve">
- <value>openFileDialogImage</value>
- </data>
- <data name="&gt;&gt;openFileDialogImage.Type" xml:space="preserve">
- <value>System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;timerCalculateGames.Name" xml:space="preserve">
- <value>timerCalculateGames</value>
- </data>
- <data name="&gt;&gt;timerCalculateGames.Type" xml:space="preserve">
- <value>System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;timerConnectionCheck.Name" xml:space="preserve">
- <value>timerConnectionCheck</value>
- </data>
- <data name="&gt;&gt;timerConnectionCheck.Type" xml:space="preserve">
- <value>System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;$this.Name" xml:space="preserve">
- <value>MainForm</value>
- </data>
- <data name="&gt;&gt;$this.Type" xml:space="preserve">
- <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
+<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <metadata name="menuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </metadata>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="menuStrip.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="menuStrip.Size" type="System.Drawing.Size, System.Drawing">
+ <value>609, 24</value>
+ </data>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="menuStrip.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="menuStrip.Text" xml:space="preserve">
+ <value>menuStrip</value>
+ </data>
+ <data name="&gt;&gt;menuStrip.Name" xml:space="preserve">
+ <value>menuStrip</value>
+ </data>
+ <data name="&gt;&gt;menuStrip.Type" xml:space="preserve">
+ <value>System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;menuStrip.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;menuStrip.ZOrder" xml:space="preserve">
+ <value>6</value>
+ </data>
+ <data name="fileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>37, 20</value>
+ </data>
+ <data name="fileToolStripMenuItem.Text" xml:space="preserve">
+ <value>&amp;File</value>
+ </data>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="addMoreGamesToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+ <value>Ctrl+O</value>
+ </data>
+ <data name="addMoreGamesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>238, 22</value>
+ </data>
+ <data name="addMoreGamesToolStripMenuItem.Text" xml:space="preserve">
+ <value>Add more &amp;games</value>
+ </data>
+ <data name="presetsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>238, 22</value>
+ </data>
+ <data name="presetsToolStripMenuItem.Text" xml:space="preserve">
+ <value>Selection presets</value>
+ </data>
+ <data name="toolStripMenuItem2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>139, 6</value>
+ </data>
+ <data name="addPresetToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>142, 22</value>
+ </data>
+ <data name="addPresetToolStripMenuItem.Text" xml:space="preserve">
+ <value>Add preset</value>
+ </data>
+ <data name="deletePresetToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>142, 22</value>
+ </data>
+ <data name="deletePresetToolStripMenuItem.Text" xml:space="preserve">
+ <value>Delete preset</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+ <value>F5</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>238, 22</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Text" xml:space="preserve">
+ <value>Synchronize</value>
+ </data>
+ <data name="searchToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+ <value>Ctrl+F</value>
+ </data>
+ <data name="searchToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>238, 22</value>
+ </data>
+ <data name="searchToolStripMenuItem.Text" xml:space="preserve">
+ <value>Search</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>238, 22</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text" xml:space="preserve">
+ <value>Download box art for all games</value>
+ </data>
+ <data name="toolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>235, 6</value>
+ </data>
+ <data name="exitToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>238, 22</value>
+ </data>
+ <data name="exitToolStripMenuItem.Text" xml:space="preserve">
+ <value>&amp;Exit</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>52, 20</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Text" xml:space="preserve">
+ <value>&amp;Kernel</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>179, 22</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Text" xml:space="preserve">
+ <value>Dump kernel</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>179, 22</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Text" xml:space="preserve">
+ <value>Flash original kernel</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>179, 22</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Text" xml:space="preserve">
+ <value>Flash custom kernel</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>179, 22</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Text" xml:space="preserve">
+ <value>Uninstall</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>65, 20</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Text" xml:space="preserve">
+ <value>&amp;Modules</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>197, 22</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Text" xml:space="preserve">
+ <value>Install extra modules</value>
+ </data>
+ <data name="uninstallModulesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>197, 22</value>
+ </data>
+ <data name="uninstallModulesToolStripMenuItem.Text" xml:space="preserve">
+ <value>Uninstall extra modules</value>
+ </data>
+ <data name="settingsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>61, 20</value>
+ </data>
+ <data name="settingsToolStripMenuItem.Text" xml:space="preserve">
+ <value>&amp;Settings</value>
+ </data>
+ <data name="languageToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAA0BJREFUOE91
+ k31Qy3Ecx39TuqPrPPVHqW1cHmZrq8zKsqxpKzYPc+hhbpU8DUMllkxW2M3VnKeIphBOpTuVY51E3HAe
+ SpEreUy1TlQ4lKO3X/O7czivu/d9/nm/Pvf9/PEl/maGTE5LP2BxKbU1zLQ974qva+tNrGl8HWrMyXem
+ Kv9ne36xa3VL185H7T1dj9t7UPumG7Wt79Hc+QGNHb3vbC/f6qnqv2zIq3BVW82X1jYsh/VZB441lSGt
+ xQ5LSztM9+xYfb4FmpNXoLmadjYwVvXna3jhy2izc7NLZ93iI+GBAuWthXjysRKFPZ1YY/+KhJsdiMtr
+ QMyeKujuajHfuOsQpf7CT2FaxLVOHYio94e+WYWHvVbU9nWhrL8fiZ19iKtpQ+zxBij1NiSVmCGJNw34
+ KrVBlE4QvhG7rzHKvcC6yEJs41IYu7tR0Pcd5k/fsOr5B0RWvkJ0bh3m6W5iwbZCHG6KRExx1AmH7M4M
+ d/EJTuv3yVSAv6MEEZevY1H9OywjRXVTD1S3O6AoaoYy6x7CtdegyjYhszYU6qqFrY4Fo7xm0encFEzQ
+ xIC7/gSCcm5AWPQU4osvEVr+AuIzzZDuf4gInQ0zoisRvTcN2utCBJ/i/3AsGOkpcR/LShpg8lPBWWkC
+ b10NhDurMW3PA0zPqkNI5n1INpGyugrc0Avgr0gH+ygDE3VzvjgWDMLg6toYbAPY0kOYsiEJvtuTIdSd
+ wvQV1QiOq4JgodUhTxGeBVtkAUepB0e+4w6lE8SkQIN5PC8Dk4P3w22LJ9wyxsAzzxssQyS4YUXgzCwG
+ R3wavhILuNLD8JPvA0dqTKR0ghBJN3sIZ+/tFskPwCdVANd1YzAseRRGGDzATJWBlZKAgKgcCJbkQ6Qu
+ QJim8MVEsXY4pf9CqsyWixTmfpFaD7ZRCLqBBY/dPvA+yAPvSCRkm0swN70Cyoyyz/QAmWTocDcapf6G
+ MUEiF4RtfSvemIyQgigEnpNBcnwjFmSfgSr3BjlL34wez9aQVX8yIx3SXzjRhjgHuDPZB8fJBPVB8Rp7
+ iDrTLohOqacLwiw0J+fFZCeQjDcZl0Hhfwx+lhFkxpJhUnM0mcG7nchQEMRPy1alIv5O+PUAAAAASUVO
+ RK5CYII=
+</value>
+ </data>
+ <data name="languageToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>376, 22</value>
+ </data>
+ <data name="languageToolStripMenuItem.Text" xml:space="preserve">
+ <value>Language</value>
+ </data>
+ <data name="consoleTypeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>376, 22</value>
+ </data>
+ <data name="consoleTypeToolStripMenuItem.Text" xml:space="preserve">
+ <value>Console type</value>
+ </data>
+ <data name="nESMiniToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>151, 22</value>
+ </data>
+ <data name="nESMiniToolStripMenuItem.Text" xml:space="preserve">
+ <value>NES Mini</value>
+ </data>
+ <data name="famicomMiniToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>151, 22</value>
+ </data>
+ <data name="famicomMiniToolStripMenuItem.Text" xml:space="preserve">
+ <value>Famicom Mini</value>
+ </data>
+ <data name="cloverconHackToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>376, 22</value>
+ </data>
+ <data name="cloverconHackToolStripMenuItem.Text" xml:space="preserve">
+ <value>Controller hacks</value>
+ </data>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>308, 22</value>
+ </data>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text" xml:space="preserve">
+ <value>Use button combination to reset</value>
+ </data>
+ <data name="selectButtonCombinationToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>308, 22</value>
+ </data>
+ <data name="selectButtonCombinationToolStripMenuItem.Text" xml:space="preserve">
+ <value>Select reset button combination</value>
+ </data>
+ <data name="enableAutofireToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>308, 22</value>
+ </data>
+ <data name="enableAutofireToolStripMenuItem.Text" xml:space="preserve">
+ <value>Use "Select+A/B" to enable autofire on A/B </value>
+ </data>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>308, 22</value>
+ </data>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text" xml:space="preserve">
+ <value>Use X/Y on Classic Controller as autofire A/B</value>
+ </data>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>308, 22</value>
+ </data>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text" xml:space="preserve">
+ <value>"Up+A+B = Start" on 2nd controller</value>
+ </data>
+ <data name="useExtendedFontToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>376, 22</value>
+ </data>
+ <data name="useExtendedFontToolStripMenuItem.Text" xml:space="preserve">
+ <value>Use extended font</value>
+ </data>
+ <data name="epilepsyProtectionToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>376, 22</value>
+ </data>
+ <data name="epilepsyProtectionToolStripMenuItem.Text" xml:space="preserve">
+ <value>Disable epilepsy protection</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>376, 22</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text" xml:space="preserve">
+ <value>Compress non-NES games (for additional emulator mod)</value>
+ </data>
+ <data name="pagesfoldersTypeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>376, 22</value>
+ </data>
+ <data name="pagesfoldersTypeToolStripMenuItem.Text" xml:space="preserve">
+ <value>Pages/folders structure</value>
+ </data>
+ <data name="disablePagefoldersToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>356, 22</value>
+ </data>
+ <data name="disablePagefoldersToolStripMenuItem.Text" xml:space="preserve">
+ <value>Disable page/folders</value>
+ </data>
+ <data name="toolStripMenuItem3.Size" type="System.Drawing.Size, System.Drawing">
+ <value>353, 6</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>356, 22</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Text" xml:space="preserve">
+ <value>Automatic</value>
+ </data>
+ <data name="automaticOriginalToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>356, 22</value>
+ </data>
+ <data name="automaticOriginalToolStripMenuItem.Text" xml:space="preserve">
+ <value>Original games in root -&gt; Automatic in subfolder</value>
+ </data>
+ <data name="pagesToolStripMenuItem.ImageScaling" type="System.Windows.Forms.ToolStripItemImageScaling, System.Windows.Forms">
+ <value>None</value>
+ </data>
+ <data name="pagesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>356, 22</value>
+ </data>
+ <data name="pagesToolStripMenuItem.Text" xml:space="preserve">
+ <value>Pages, split games equally</value>
+ </data>
+ <data name="pagesOriginalToolStripMenuItem.ImageScaling" type="System.Windows.Forms.ToolStripItemImageScaling, System.Windows.Forms">
+ <value>None</value>
+ </data>
+ <data name="pagesOriginalToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>356, 22</value>
+ </data>
+ <data name="pagesOriginalToolStripMenuItem.Text" xml:space="preserve">
+ <value>Original games in root -&gt; Pages, split games equally</value>
+ </data>
+ <data name="foldersToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>356, 22</value>
+ </data>
+ <data name="foldersToolStripMenuItem.Text" xml:space="preserve">
+ <value>Folders, split games equally</value>
+ </data>
+ <data name="foldersOriginalToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>356, 22</value>
+ </data>
+ <data name="foldersOriginalToolStripMenuItem.Text" xml:space="preserve">
+ <value>Original games in root -&gt; Folders, split games equally</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>356, 22</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text" xml:space="preserve">
+ <value>Folders, split by first letter</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>356, 22</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text" xml:space="preserve">
+ <value>Original games in root -&gt; Folders, split by first letter</value>
+ </data>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>356, 22</value>
+ </data>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text" xml:space="preserve">
+ <value>Maximum games per page/folder</value>
+ </data>
+ <data name="max20toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
+ </data>
+ <data name="max20toolStripMenuItem.Text" xml:space="preserve">
+ <value>20</value>
+ </data>
+ <data name="max25toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
+ </data>
+ <data name="max25toolStripMenuItem.Text" xml:space="preserve">
+ <value>25</value>
+ </data>
+ <data name="max30toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
+ </data>
+ <data name="max30toolStripMenuItem.Text" xml:space="preserve">
+ <value>30</value>
+ </data>
+ <data name="max35toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
+ </data>
+ <data name="max35toolStripMenuItem.Text" xml:space="preserve">
+ <value>35</value>
+ </data>
+ <data name="max40toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
+ </data>
+ <data name="max40toolStripMenuItem.Text" xml:space="preserve">
+ <value>40</value>
+ </data>
+ <data name="max45toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
+ </data>
+ <data name="max45toolStripMenuItem.Text" xml:space="preserve">
+ <value>45</value>
+ </data>
+ <data name="max50toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
+ </data>
+ <data name="max50toolStripMenuItem.Text" xml:space="preserve">
+ <value>50</value>
+ </data>
+ <data name="max60toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
+ </data>
+ <data name="max60toolStripMenuItem.Text" xml:space="preserve">
+ <value>60</value>
+ </data>
+ <data name="max70toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
+ </data>
+ <data name="max70toolStripMenuItem.Text" xml:space="preserve">
+ <value>70</value>
+ </data>
+ <data name="max80toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
+ </data>
+ <data name="max80toolStripMenuItem.Text" xml:space="preserve">
+ <value>80</value>
+ </data>
+ <data name="max90toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
+ </data>
+ <data name="max90toolStripMenuItem.Text" xml:space="preserve">
+ <value>90</value>
+ </data>
+ <data name="max100toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
+ </data>
+ <data name="max100toolStripMenuItem.Text" xml:space="preserve">
+ <value>100</value>
+ </data>
+ <data name="toolStripMenuItem4.Size" type="System.Drawing.Size, System.Drawing">
+ <value>353, 6</value>
+ </data>
+ <data name="customToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>356, 22</value>
+ </data>
+ <data name="customToolStripMenuItem.Text" xml:space="preserve">
+ <value>Custom - show Folders Manager every time</value>
+ </data>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>376, 22</value>
+ </data>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text" xml:space="preserve">
+ <value>Global command-line arguments (experts only!)</value>
+ </data>
+ <data name="toolStripMenuItem5.Size" type="System.Drawing.Size, System.Drawing">
+ <value>373, 6</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Font" type="System.Drawing.Font, System.Drawing">
+ <value>Segoe UI, 9pt, style=Bold</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>376, 22</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text" xml:space="preserve">
+ <value>Save settings to NES Mini now</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>47, 20</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Text" xml:space="preserve">
+ <value>&amp;Tools</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>331, 22</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Text" xml:space="preserve">
+ <value>Save-State Manager</value>
+ </data>
+ <data name="toolStripMenuItem6.Size" type="System.Drawing.Size, System.Drawing">
+ <value>328, 6</value>
+ </data>
+ <data name="FTPToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>331, 22</value>
+ </data>
+ <data name="FTPToolStripMenuItem.Text" xml:space="preserve">
+ <value>FTP server on ftp://root:clover@127.0.0.1:1021</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>331, 22</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Text" xml:space="preserve">
+ <value>Open FTP client</value>
+ </data>
+ <data name="toolStripMenuItem7.Size" type="System.Drawing.Size, System.Drawing">
+ <value>328, 6</value>
+ </data>
+ <data name="shellToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>331, 22</value>
+ </data>
+ <data name="shellToolStripMenuItem.Text" xml:space="preserve">
+ <value>Shell server on telnet://127.0.0.1:1023 (login:root)</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>331, 22</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Text" xml:space="preserve">
+ <value>Open Telnet client</value>
+ </data>
+ <data name="toolStripMenuItem8.Size" type="System.Drawing.Size, System.Drawing">
+ <value>328, 6</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>331, 22</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Text" xml:space="preserve">
+ <value>Take screenshot</value>
+ </data>
+ <data name="helpToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>44, 20</value>
+ </data>
+ <data name="helpToolStripMenuItem.Text" xml:space="preserve">
+ <value>&amp;Help</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>246, 22</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text" xml:space="preserve">
+ <value>GitHub page with actual releases</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>246, 22</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Text" xml:space="preserve">
+ <value>FAQ</value>
+ </data>
+ <data name="aboutToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>246, 22</value>
+ </data>
+ <data name="aboutToolStripMenuItem.Text" xml:space="preserve">
+ <value>About...</value>
+ </data>
+ <data name="checkedListBoxGames.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>None</value>
+ </data>
+ <data name="checkedListBoxGames.Location" type="System.Drawing.Point, System.Drawing">
+ <value>12, 57</value>
+ </data>
+ <data name="checkedListBoxGames.Size" type="System.Drawing.Size, System.Drawing">
+ <value>282, 499</value>
+ </data>
+ <data name="checkedListBoxGames.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="&gt;&gt;checkedListBoxGames.Name" xml:space="preserve">
+ <value>checkedListBoxGames</value>
+ </data>
+ <data name="&gt;&gt;checkedListBoxGames.Type" xml:space="preserve">
+ <value>System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;checkedListBoxGames.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;checkedListBoxGames.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <data name="groupBoxOptions.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>None</value>
+ </data>
+ <data name="buttonShowGameGenieDatabase.Location" type="System.Drawing.Point, System.Drawing">
+ <value>252, 286</value>
+ </data>
+ <data name="buttonShowGameGenieDatabase.Size" type="System.Drawing.Size, System.Drawing">
+ <value>25, 20</value>
+ </data>
+ <data name="buttonShowGameGenieDatabase.TabIndex" type="System.Int32, mscorlib">
+ <value>12</value>
+ </data>
+ <data name="buttonShowGameGenieDatabase.Text" xml:space="preserve">
+ <value>+</value>
+ </data>
+ <data name="&gt;&gt;buttonShowGameGenieDatabase.Name" xml:space="preserve">
+ <value>buttonShowGameGenieDatabase</value>
+ </data>
+ <data name="&gt;&gt;buttonShowGameGenieDatabase.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;buttonShowGameGenieDatabase.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;buttonShowGameGenieDatabase.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="maskedTextBoxReleaseDate.Location" type="System.Drawing.Point, System.Drawing">
+ <value>210, 154</value>
+ </data>
+ <data name="maskedTextBoxReleaseDate.Mask" xml:space="preserve">
+ <value>0000-00-00</value>
+ </data>
+ <data name="maskedTextBoxReleaseDate.Size" type="System.Drawing.Size, System.Drawing">
+ <value>65, 20</value>
+ </data>
+ <data name="maskedTextBoxReleaseDate.TabIndex" type="System.Int32, mscorlib">
+ <value>6</value>
+ </data>
+ <data name="&gt;&gt;maskedTextBoxReleaseDate.Name" xml:space="preserve">
+ <value>maskedTextBoxReleaseDate</value>
+ </data>
+ <data name="&gt;&gt;maskedTextBoxReleaseDate.Type" xml:space="preserve">
+ <value>System.Windows.Forms.MaskedTextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;maskedTextBoxReleaseDate.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;maskedTextBoxReleaseDate.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="label1.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>15, 157</value>
+ </data>
+ <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>150, 13</value>
+ </data>
+ <data name="label1.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name="label1.Text" xml:space="preserve">
+ <value>Release date (YYYY-MM-DD):</value>
+ </data>
+ <data name="&gt;&gt;label1.Name" xml:space="preserve">
+ <value>label1</value>
+ </data>
+ <data name="&gt;&gt;label1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;label1.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="textBoxGameGenie.Location" type="System.Drawing.Point, System.Drawing">
+ <value>19, 286</value>
+ </data>
+ <data name="textBoxGameGenie.Size" type="System.Drawing.Size, System.Drawing">
+ <value>227, 20</value>
+ </data>
+ <data name="textBoxGameGenie.TabIndex" type="System.Int32, mscorlib">
+ <value>11</value>
+ </data>
+ <data name="&gt;&gt;textBoxGameGenie.Name" xml:space="preserve">
+ <value>textBoxGameGenie</value>
+ </data>
+ <data name="&gt;&gt;textBoxGameGenie.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;textBoxGameGenie.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;textBoxGameGenie.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="label7.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label7.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="label7.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 269</value>
+ </data>
+ <data name="label7.Size" type="System.Drawing.Size, System.Drawing">
+ <value>194, 13</value>
+ </data>
+ <data name="label7.TabIndex" type="System.Int32, mscorlib">
+ <value>17</value>
+ </data>
+ <data name="label7.Text" xml:space="preserve">
+ <value>Game Genie codes (comma separated):</value>
+ </data>
+ <data name="&gt;&gt;label7.Name" xml:space="preserve">
+ <value>label7</value>
+ </data>
+ <data name="&gt;&gt;label7.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;label7.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;label7.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="label6.Location" type="System.Drawing.Point, System.Drawing">
+ <value>15, 76</value>
+ </data>
+ <data name="label6.Size" type="System.Drawing.Size, System.Drawing">
+ <value>82, 63</value>
+ </data>
+ <data name="label6.TabIndex" type="System.Int32, mscorlib">
+ <value>16</value>
+ </data>
+ <data name="label6.Text" xml:space="preserve">
+ <value>Max players:</value>
+ </data>
+ <data name="label6.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+ <value>MiddleLeft</value>
+ </data>
+ <data name="&gt;&gt;label6.Name" xml:space="preserve">
+ <value>label6</value>
+ </data>
+ <data name="&gt;&gt;label6.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;label6.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;label6.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <data name="radioButtonTwoSim.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="radioButtonTwoSim.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="radioButtonTwoSim.Location" type="System.Drawing.Point, System.Drawing">
+ <value>103, 122</value>
+ </data>
+ <data name="radioButtonTwoSim.Size" type="System.Drawing.Size, System.Drawing">
+ <value>156, 17</value>
+ </data>
+ <data name="radioButtonTwoSim.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name="radioButtonTwoSim.Text" xml:space="preserve">
+ <value>Two players, simultaneously</value>
+ </data>
+ <data name="&gt;&gt;radioButtonTwoSim.Name" xml:space="preserve">
+ <value>radioButtonTwoSim</value>
+ </data>
+ <data name="&gt;&gt;radioButtonTwoSim.Type" xml:space="preserve">
+ <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;radioButtonTwoSim.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;radioButtonTwoSim.ZOrder" xml:space="preserve">
+ <value>6</value>
+ </data>
+ <data name="buttonGoogle.Location" type="System.Drawing.Point, System.Drawing">
+ <value>219, 427</value>
+ </data>
+ <data name="buttonGoogle.Size" type="System.Drawing.Size, System.Drawing">
+ <value>61, 23</value>
+ </data>
+ <data name="buttonGoogle.TabIndex" type="System.Int32, mscorlib">
+ <value>15</value>
+ </data>
+ <data name="buttonGoogle.Text" xml:space="preserve">
+ <value>Google</value>
+ </data>
+ <data name="&gt;&gt;buttonGoogle.Name" xml:space="preserve">
+ <value>buttonGoogle</value>
+ </data>
+ <data name="&gt;&gt;buttonGoogle.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;buttonGoogle.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;buttonGoogle.ZOrder" xml:space="preserve">
+ <value>7</value>
+ </data>
+ <data name="buttonBrowseImage.Location" type="System.Drawing.Point, System.Drawing">
+ <value>219, 384</value>
+ </data>
+ <data name="buttonBrowseImage.Size" type="System.Drawing.Size, System.Drawing">
+ <value>61, 23</value>
+ </data>
+ <data name="buttonBrowseImage.TabIndex" type="System.Int32, mscorlib">
+ <value>13</value>
+ </data>
+ <data name="buttonBrowseImage.Text" xml:space="preserve">
+ <value>Browse</value>
+ </data>
+ <data name="&gt;&gt;buttonBrowseImage.Name" xml:space="preserve">
+ <value>buttonBrowseImage</value>
+ </data>
+ <data name="&gt;&gt;buttonBrowseImage.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;buttonBrowseImage.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;buttonBrowseImage.ZOrder" xml:space="preserve">
+ <value>8</value>
+ </data>
+ <data name="pictureBoxArt.Location" type="System.Drawing.Point, System.Drawing">
+ <value>71, 316</value>
+ </data>
+ <data name="pictureBoxArt.Size" type="System.Drawing.Size, System.Drawing">
+ <value>140, 204</value>
+ </data>
+ <data name="pictureBoxArt.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
+ <value>Zoom</value>
+ </data>
+ <data name="pictureBoxArt.TabIndex" type="System.Int32, mscorlib">
+ <value>12</value>
+ </data>
+ <data name="&gt;&gt;pictureBoxArt.Name" xml:space="preserve">
+ <value>pictureBoxArt</value>
+ </data>
+ <data name="&gt;&gt;pictureBoxArt.Type" xml:space="preserve">
+ <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;pictureBoxArt.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;pictureBoxArt.ZOrder" xml:space="preserve">
+ <value>9</value>
+ </data>
+ <data name="label4.Location" type="System.Drawing.Point, System.Drawing">
+ <value>15, 316</value>
+ </data>
+ <data name="label4.Size" type="System.Drawing.Size, System.Drawing">
+ <value>53, 204</value>
+ </data>
+ <data name="label4.TabIndex" type="System.Int32, mscorlib">
+ <value>11</value>
+ </data>
+ <data name="label4.Text" xml:space="preserve">
+ <value>Box art:</value>
+ </data>
+ <data name="label4.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+ <value>MiddleCenter</value>
+ </data>
+ <data name="&gt;&gt;label4.Name" xml:space="preserve">
+ <value>label4</value>
+ </data>
+ <data name="&gt;&gt;label4.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;label4.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;label4.ZOrder" xml:space="preserve">
+ <value>10</value>
+ </data>
+ <data name="textBoxArguments.Location" type="System.Drawing.Point, System.Drawing">
+ <value>18, 237</value>
+ </data>
+ <data name="textBoxArguments.Size" type="System.Drawing.Size, System.Drawing">
+ <value>257, 20</value>
+ </data>
+ <data name="textBoxArguments.TabIndex" type="System.Int32, mscorlib">
+ <value>10</value>
+ </data>
+ <data name="&gt;&gt;textBoxArguments.Name" xml:space="preserve">
+ <value>textBoxArguments</value>
+ </data>
+ <data name="&gt;&gt;textBoxArguments.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;textBoxArguments.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;textBoxArguments.ZOrder" xml:space="preserve">
+ <value>11</value>
+ </data>
+ <data name="label3.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
+ <value>15, 220</value>
+ </data>
+ <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
+ <value>253, 13</value>
+ </data>
+ <data name="label3.TabIndex" type="System.Int32, mscorlib">
+ <value>9</value>
+ </data>
+ <data name="label3.Text" xml:space="preserve">
+ <value>Command line arguments (for advanced users only!):</value>
+ </data>
+ <data name="&gt;&gt;label3.Name" xml:space="preserve">
+ <value>label3</value>
+ </data>
+ <data name="&gt;&gt;label3.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;label3.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
+ <value>12</value>
+ </data>
+ <data name="textBoxPublisher.Location" type="System.Drawing.Point, System.Drawing">
+ <value>71, 186</value>
+ </data>
+ <data name="textBoxPublisher.Size" type="System.Drawing.Size, System.Drawing">
+ <value>204, 20</value>
+ </data>
+ <data name="textBoxPublisher.TabIndex" type="System.Int32, mscorlib">
+ <value>8</value>
+ </data>
+ <data name="&gt;&gt;textBoxPublisher.Name" xml:space="preserve">
+ <value>textBoxPublisher</value>
+ </data>
+ <data name="&gt;&gt;textBoxPublisher.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;textBoxPublisher.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;textBoxPublisher.ZOrder" xml:space="preserve">
+ <value>13</value>
+ </data>
+ <data name="label2.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
+ <value>15, 189</value>
+ </data>
+ <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>53, 13</value>
+ </data>
+ <data name="label2.TabIndex" type="System.Int32, mscorlib">
+ <value>7</value>
+ </data>
+ <data name="label2.Text" xml:space="preserve">
+ <value>Publisher:</value>
+ </data>
+ <data name="&gt;&gt;label2.Name" xml:space="preserve">
+ <value>label2</value>
+ </data>
+ <data name="&gt;&gt;label2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;label2.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
+ <value>14</value>
+ </data>
+ <data name="radioButtonTwo.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="radioButtonTwo.Location" type="System.Drawing.Point, System.Drawing">
+ <value>103, 99</value>
+ </data>
+ <data name="radioButtonTwo.Size" type="System.Drawing.Size, System.Drawing">
+ <value>174, 17</value>
+ </data>
+ <data name="radioButtonTwo.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name="radioButtonTwo.Text" xml:space="preserve">
+ <value>Two players, not simultaneously</value>
+ </data>
+ <data name="&gt;&gt;radioButtonTwo.Name" xml:space="preserve">
+ <value>radioButtonTwo</value>
+ </data>
+ <data name="&gt;&gt;radioButtonTwo.Type" xml:space="preserve">
+ <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;radioButtonTwo.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;radioButtonTwo.ZOrder" xml:space="preserve">
+ <value>15</value>
+ </data>
+ <data name="radioButtonOne.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="radioButtonOne.Location" type="System.Drawing.Point, System.Drawing">
+ <value>103, 76</value>
+ </data>
+ <data name="radioButtonOne.Size" type="System.Drawing.Size, System.Drawing">
+ <value>76, 17</value>
+ </data>
+ <data name="radioButtonOne.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
+ </data>
+ <data name="radioButtonOne.Text" xml:space="preserve">
+ <value>One player</value>
+ </data>
+ <data name="&gt;&gt;radioButtonOne.Name" xml:space="preserve">
+ <value>radioButtonOne</value>
+ </data>
+ <data name="&gt;&gt;radioButtonOne.Type" xml:space="preserve">
+ <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;radioButtonOne.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;radioButtonOne.ZOrder" xml:space="preserve">
+ <value>16</value>
+ </data>
+ <data name="textBoxName.Location" type="System.Drawing.Point, System.Drawing">
+ <value>59, 46</value>
+ </data>
+ <data name="textBoxName.Size" type="System.Drawing.Size, System.Drawing">
+ <value>216, 20</value>
+ </data>
+ <data name="textBoxName.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
+ </data>
+ <data name="&gt;&gt;textBoxName.Name" xml:space="preserve">
+ <value>textBoxName</value>
+ </data>
+ <data name="&gt;&gt;textBoxName.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;textBoxName.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;textBoxName.ZOrder" xml:space="preserve">
+ <value>17</value>
+ </data>
+ <data name="labelName.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="labelName.Location" type="System.Drawing.Point, System.Drawing">
+ <value>15, 49</value>
+ </data>
+ <data name="labelName.Size" type="System.Drawing.Size, System.Drawing">
+ <value>38, 13</value>
+ </data>
+ <data name="labelName.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="labelName.Text" xml:space="preserve">
+ <value>Name:</value>
+ </data>
+ <data name="&gt;&gt;labelName.Name" xml:space="preserve">
+ <value>labelName</value>
+ </data>
+ <data name="&gt;&gt;labelName.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;labelName.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;labelName.ZOrder" xml:space="preserve">
+ <value>18</value>
+ </data>
+ <data name="labelID.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="labelID.Location" type="System.Drawing.Point, System.Drawing">
+ <value>15, 21</value>
+ </data>
+ <data name="labelID.Size" type="System.Drawing.Size, System.Drawing">
+ <value>21, 13</value>
+ </data>
+ <data name="labelID.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="labelID.Text" xml:space="preserve">
+ <value>ID:</value>
+ </data>
+ <data name="&gt;&gt;labelID.Name" xml:space="preserve">
+ <value>labelID</value>
+ </data>
+ <data name="&gt;&gt;labelID.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;labelID.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;labelID.ZOrder" xml:space="preserve">
+ <value>19</value>
+ </data>
+ <data name="groupBoxOptions.Location" type="System.Drawing.Point, System.Drawing">
+ <value>306, 33</value>
+ </data>
+ <data name="groupBoxOptions.Size" type="System.Drawing.Size, System.Drawing">
+ <value>293, 529</value>
+ </data>
+ <data name="groupBoxOptions.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name="groupBoxOptions.Text" xml:space="preserve">
+ <value>Game options</value>
+ </data>
+ <data name="&gt;&gt;groupBoxOptions.Name" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;groupBoxOptions.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;groupBoxOptions.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;groupBoxOptions.ZOrder" xml:space="preserve">
+ <value>7</value>
+ </data>
+ <data name="label5.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>None</value>
+ </data>
+ <data name="label5.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label5.Location" type="System.Drawing.Point, System.Drawing">
+ <value>12, 33</value>
+ </data>
+ <data name="label5.Size" type="System.Drawing.Size, System.Drawing">
+ <value>74, 13</value>
+ </data>
+ <data name="label5.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name="label5.Text" xml:space="preserve">
+ <value>Select games:</value>
+ </data>
+ <data name="&gt;&gt;label5.Name" xml:space="preserve">
+ <value>label5</value>
+ </data>
+ <data name="&gt;&gt;label5.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;label5.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;label5.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="buttonAddGames.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>None</value>
+ </data>
+ <data name="buttonAddGames.Location" type="System.Drawing.Point, System.Drawing">
+ <value>12, 568</value>
+ </data>
+ <data name="buttonAddGames.Size" type="System.Drawing.Size, System.Drawing">
+ <value>282, 38</value>
+ </data>
+ <data name="buttonAddGames.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name="buttonAddGames.Text" xml:space="preserve">
+ <value>Add more games</value>
+ </data>
+ <data name="&gt;&gt;buttonAddGames.Name" xml:space="preserve">
+ <value>buttonAddGames</value>
+ </data>
+ <data name="&gt;&gt;buttonAddGames.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;buttonAddGames.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;buttonAddGames.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <metadata name="statusStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>109, 17</value>
+ </metadata>
+ <data name="statusStrip.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 614</value>
+ </data>
+ <data name="statusStrip.Size" type="System.Drawing.Size, System.Drawing">
+ <value>609, 22</value>
+ </data>
+ <data name="statusStrip.TabIndex" type="System.Int32, mscorlib">
+ <value>6</value>
+ </data>
+ <data name="statusStrip.Text" xml:space="preserve">
+ <value>statusStrip1</value>
+ </data>
+ <data name="&gt;&gt;statusStrip.Name" xml:space="preserve">
+ <value>statusStrip</value>
+ </data>
+ <data name="&gt;&gt;statusStrip.Type" xml:space="preserve">
+ <value>System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;statusStrip.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;statusStrip.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="toolStripStatusConnectionIcon.AutoSize" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="toolStripStatusConnectionIcon.Size" type="System.Drawing.Size, System.Drawing">
+ <value>16, 17</value>
+ </data>
+ <data name="toolStripStatusLabelSelected.AutoSize" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="toolStripStatusLabelSelected.Size" type="System.Drawing.Size, System.Drawing">
+ <value>195, 17</value>
+ </data>
+ <data name="toolStripStatusLabelSize.AutoSize" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="toolStripStatusLabelSize.Size" type="System.Drawing.Size, System.Drawing">
+ <value>195, 17</value>
+ </data>
+ <data name="toolStripProgressBar.Size" type="System.Drawing.Size, System.Drawing">
+ <value>195, 16</value>
+ </data>
+ <metadata name="openFileDialogNes.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>202, 17</value>
+ </metadata>
+ <data name="openFileDialogNes.Title" xml:space="preserve">
+ <value>Select NES file(s)</value>
+ </data>
+ <metadata name="contextMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>340, 17</value>
+ </metadata>
+ <data name="contextMenuStrip.Size" type="System.Drawing.Size, System.Drawing">
+ <value>141, 70</value>
+ </data>
+ <data name="&gt;&gt;contextMenuStrip.Name" xml:space="preserve">
+ <value>contextMenuStrip</value>
+ </data>
+ <data name="&gt;&gt;contextMenuStrip.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>140, 22</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Text" xml:space="preserve">
+ <value>Select all</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>140, 22</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Text" xml:space="preserve">
+ <value>Unselect all</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>140, 22</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Text" xml:space="preserve">
+ <value>Delete game</value>
+ </data>
+ <metadata name="openFileDialogImage.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>624, 17</value>
+ </metadata>
+ <data name="openFileDialogImage.Filter" xml:space="preserve">
+ <value>Images (*.bmp;*.png;*.jpg;*.jpeg;*.gif)|*.bmp;*.png;*.jpg;*.jpeg;*.gif|All files|*.*</value>
+ </data>
+ <data name="openFileDialogImage.Title" xml:space="preserve">
+ <value>Select cover for game</value>
+ </data>
+ <data name="buttonStart.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>None</value>
+ </data>
+ <data name="buttonStart.Location" type="System.Drawing.Point, System.Drawing">
+ <value>306, 568</value>
+ </data>
+ <data name="buttonStart.Size" type="System.Drawing.Size, System.Drawing">
+ <value>293, 38</value>
+ </data>
+ <data name="buttonStart.TabIndex" type="System.Int32, mscorlib">
+ <value>6</value>
+ </data>
+ <data name="buttonStart.Text" xml:space="preserve">
+ <value>Synchronize selected games with NES Mini</value>
+ </data>
+ <data name="&gt;&gt;buttonStart.Name" xml:space="preserve">
+ <value>buttonStart</value>
+ </data>
+ <data name="&gt;&gt;buttonStart.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;buttonStart.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;buttonStart.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <metadata name="timerCalculateGames.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>473, 17</value>
+ </metadata>
+ <metadata name="timerConnectionCheck.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>775, 17</value>
+ </metadata>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>149</value>
+ </metadata>
+ <metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+ <value>6, 13</value>
+ </data>
+ <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+ <value>609, 636</value>
+ </data>
+ <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
+ AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
+ AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
+ AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
+ AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
+ AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
+ AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
+ AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
+ AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
+ AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
+ ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
+ ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
+ ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
+ ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
+ ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
+ ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
+ ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/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/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/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
+ AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
+ DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
+ Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
+ D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
+ EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
+ EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
+ D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
+ Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
+ Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
+ AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
+ ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
+ jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
+ of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
+ tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
+ pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
+ lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
+ hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
+ AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
+ i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
+ kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
+ qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
+ wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
+ wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
+ r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
+ nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
+ kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
+ AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
+ nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
+ rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
+ vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
+ 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
+ wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
+ s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
+ pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
+ Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
+ o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
+ pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
+ p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
+ qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
+ qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
+ qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
+ pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
+ pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
+ kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
+ o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
+ tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
+ xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
+ wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
+ rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
+ nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
+ qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
+ j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
+ o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
+ uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
+ zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
+ 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
+ xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
+ sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
+ nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
+ rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
+ uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
+ yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
+ 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
+ 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
+ vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
+ qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
+ k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
+ 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
+ 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
+ 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
+ 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
+ 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
+ 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
+ yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
+ t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
+ 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
+ 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
+ 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
+ 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
+ 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
+ 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
+ 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
+ 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
+ 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
+ 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
+ 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
+ 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
+ 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
+ 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
+ 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
+ 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
+ lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
+ lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
+ l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
+ tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
+ sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
+ n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
+ ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
+ 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
+ 7v/z8fH/19XV/ykoKP8AAAD/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/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
+ Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
+ Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
+ Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
+ GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
+ IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
+ Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
+ U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
+ TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
+ HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
+ I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
+ Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
+ 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
+ A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
+ WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
+ Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
+ GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
+ N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
+ Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
+ B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
+ Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
+ Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
+ HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
+ I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
+ Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
+ mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
+ A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
+ Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
+ G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
+ Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
+ bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
+ Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
+ Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
+ B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
+ Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
+ FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
+ ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
+ af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
+ K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
+ AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
+ BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
+ Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
+ Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
+ F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
+ ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
+ ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
+ m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
+ cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
+ CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
+ eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
+ dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
+ +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
+ +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
+ LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
+ AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
+ Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
+ 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
+ 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
+ yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
+ 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
+ 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
+ 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
+ B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
+ CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
+ 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
+ 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
+ zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
+ 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
+ LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
+ AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
+ Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
+ Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
+ 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
+ zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
+ vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
+ t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
+ 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
+ pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
+ A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
+ Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
+ G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
+ JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
+ s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
+ 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
+ LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
+ AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
+ uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
+ BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
+ Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
+ zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
+ u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
+ u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
+ 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
+ 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
+ dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
+ Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
+ fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
+ dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
+ vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
+ e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
+ Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
+ AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
+ xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
+ Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
+ Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
+ 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
+ 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
+ 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
+ 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
+ t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
+ 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
+ PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
+ EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
+ uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
+ q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
+ Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
+ GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
+ Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
+ AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
+ V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
+ Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
+ Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
+ p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
+ m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
+ 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
+ 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
+ N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
+ 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
+ Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
+ Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
+ Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
+ Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
+ JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
+ g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
+ x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
+ AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
+ AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
+ Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
+ Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
+ EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
+ Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
+ 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
+ zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
+ Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
+ UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
+ Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
+ JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
+ If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
+ NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
+ Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
+ RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
+ Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
+ AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
+ AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
+ Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
+ HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
+ Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
+ TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
+ Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
+ J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
+ Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
+ AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
+ N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
+ Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
+ WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
+ UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
+ PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
+ LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
+ L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
+ UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
+ AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
+ TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
+ Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
+ bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
+ mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
+ LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
+ Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
+ Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
+ AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
+ Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
+ Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
+ Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
+ Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
+ TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
+ Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
+ L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
+ 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
+ Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
+ N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
+ NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
+ Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
+ Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
+ Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
+ L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
+ M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
+ AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
+ Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
+ Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
+ M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
+ Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
+ Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
+ Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
+ MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
+ 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
+ qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
+ Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
+ Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
+ MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
+ Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
+ L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
+ MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
+ NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
+ ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
+ P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
+ jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
+ Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
+ Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
+ Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
+ LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
+ Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
+ 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
+ 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
+ Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
+ OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
+ V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
+ T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
+ MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
+ Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
+ NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
+ ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
+ Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
+ Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
+ Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
+ U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
+ S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
+ vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
+ t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
+ tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
+ zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
+ fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
+ Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
+ V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
+ T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
+ Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
+ s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
+ NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
+ APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
+ Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
+ Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
+ OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
+ U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
+ TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
+ m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
+ kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
+ Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
+ xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
+ QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
+ Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
+ Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
+ Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
+ M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
+ Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
+ Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
+ AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
+ RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
+ O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
+ Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
+ Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
+ Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
+ M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
+ NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
+ N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
+ Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
+ Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
+ PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
+ OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
+ Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
+ Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
+ NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
+ N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
+ AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
+ R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
+ QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
+ O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
+ Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
+ R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
+ Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
+ Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
+ Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
+ AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
+ Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
+ Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
+ Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
+ Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
+ Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
+ Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
+ N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
+ Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
+ Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
+ Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
+ Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
+ Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
+ Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
+ Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
+ N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
+ Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
+ AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
+ Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
+ PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
+ Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
+ UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
+ Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
+ NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
+ Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
+ rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
+ hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
+ Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
+ Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
+ Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
+ XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
+ Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
+ R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
+ TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
+ AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
+ l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
+ mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
+ mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
+ nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
+ m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
+ mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
+ mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
+ zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
+ 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
+ x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
+ x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
+ x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
+ x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
+ x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
+ x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
+ x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
+ AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
+ 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
+ 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
+ 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
+ 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
+ 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
+ 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
+ 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
+ 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
+ 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
+ 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
+ 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
+ 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
+ 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
+ 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
+ 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
+ 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
+ AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
+ 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
+ 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
+ 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
+ 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
+ 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
+ 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
+ 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
+ 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
+ fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
+ y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
+ y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
+ y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
+ y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
+ y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
+ y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
+ y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
+ AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
+ kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
+ kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
+ kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
+ kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
+ kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
+ kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
+ kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
+ kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
+ AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
+ Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
+ Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
+ Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
+ Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
+ Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
+ Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
+ Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/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/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AGYAAADmAAAA/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/wAAAP8AAADmAAAAZgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
+ ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
+ ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
+ ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
+ ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
+ ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
+ ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
+ ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
+ ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
+ AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
+ AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
+ AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
+ AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
+ AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
+ AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
+ AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
+ AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
+ AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
+ AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
+ AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////8=
+</value>
+ </data>
+ <data name="$this.MaximumSize" type="System.Drawing.Size, System.Drawing">
+ <value>625, 675</value>
+ </data>
+ <data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
+ <value>625, 675</value>
+ </data>
+ <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
+ <value>CenterScreen</value>
+ </data>
+ <data name="$this.Text" xml:space="preserve">
+ <value>hakchi2</value>
+ </data>
+ <data name="&gt;&gt;fileToolStripMenuItem.Name" xml:space="preserve">
+ <value>fileToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;fileToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;addMoreGamesToolStripMenuItem.Name" xml:space="preserve">
+ <value>addMoreGamesToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;addMoreGamesToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;presetsToolStripMenuItem.Name" xml:space="preserve">
+ <value>presetsToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;presetsToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;toolStripMenuItem2.Name" xml:space="preserve">
+ <value>toolStripMenuItem2</value>
+ </data>
+ <data name="&gt;&gt;toolStripMenuItem2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;addPresetToolStripMenuItem.Name" xml:space="preserve">
+ <value>addPresetToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;addPresetToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;deletePresetToolStripMenuItem.Name" xml:space="preserve">
+ <value>deletePresetToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;deletePresetToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;synchronizeToolStripMenuItem.Name" xml:space="preserve">
+ <value>synchronizeToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;synchronizeToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;searchToolStripMenuItem.Name" xml:space="preserve">
+ <value>searchToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;searchToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;downloadCoversForAllGamesToolStripMenuItem.Name" xml:space="preserve">
+ <value>downloadCoversForAllGamesToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;downloadCoversForAllGamesToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;toolStripMenuItem1.Name" xml:space="preserve">
+ <value>toolStripMenuItem1</value>
+ </data>
+ <data name="&gt;&gt;toolStripMenuItem1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;exitToolStripMenuItem.Name" xml:space="preserve">
+ <value>exitToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;exitToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;kernelToolStripMenuItem.Name" xml:space="preserve">
+ <value>kernelToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;kernelToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;dumpKernelToolStripMenuItem.Name" xml:space="preserve">
+ <value>dumpKernelToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;dumpKernelToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;flashOriginalKernelToolStripMenuItem.Name" xml:space="preserve">
+ <value>flashOriginalKernelToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;flashOriginalKernelToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;flashCustomKernelToolStripMenuItem.Name" xml:space="preserve">
+ <value>flashCustomKernelToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;flashCustomKernelToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;uninstallToolStripMenuItem.Name" xml:space="preserve">
+ <value>uninstallToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;uninstallToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;modulesToolStripMenuItem.Name" xml:space="preserve">
+ <value>modulesToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;modulesToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;installModulesToolStripMenuItem.Name" xml:space="preserve">
+ <value>installModulesToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;installModulesToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;uninstallModulesToolStripMenuItem.Name" xml:space="preserve">
+ <value>uninstallModulesToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;uninstallModulesToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;settingsToolStripMenuItem.Name" xml:space="preserve">
+ <value>settingsToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;settingsToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;languageToolStripMenuItem.Name" xml:space="preserve">
+ <value>languageToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;languageToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;consoleTypeToolStripMenuItem.Name" xml:space="preserve">
+ <value>consoleTypeToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;consoleTypeToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;nESMiniToolStripMenuItem.Name" xml:space="preserve">
+ <value>nESMiniToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;nESMiniToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;famicomMiniToolStripMenuItem.Name" xml:space="preserve">
+ <value>famicomMiniToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;famicomMiniToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;cloverconHackToolStripMenuItem.Name" xml:space="preserve">
+ <value>cloverconHackToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;cloverconHackToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;resetUsingCombinationOfButtonsToolStripMenuItem.Name" xml:space="preserve">
+ <value>resetUsingCombinationOfButtonsToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;resetUsingCombinationOfButtonsToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;selectButtonCombinationToolStripMenuItem.Name" xml:space="preserve">
+ <value>selectButtonCombinationToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;selectButtonCombinationToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;enableAutofireToolStripMenuItem.Name" xml:space="preserve">
+ <value>enableAutofireToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;enableAutofireToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;useXYOnClassicControllerAsAutofireABToolStripMenuItem.Name" xml:space="preserve">
+ <value>useXYOnClassicControllerAsAutofireABToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;useXYOnClassicControllerAsAutofireABToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;upABStartOnSecondControllerToolStripMenuItem.Name" xml:space="preserve">
+ <value>upABStartOnSecondControllerToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;upABStartOnSecondControllerToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;useExtendedFontToolStripMenuItem.Name" xml:space="preserve">
+ <value>useExtendedFontToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;useExtendedFontToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;epilepsyProtectionToolStripMenuItem.Name" xml:space="preserve">
+ <value>epilepsyProtectionToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;epilepsyProtectionToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;compressGamesIfPossibleToolStripMenuItem.Name" xml:space="preserve">
+ <value>compressGamesIfPossibleToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;compressGamesIfPossibleToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;pagesfoldersTypeToolStripMenuItem.Name" xml:space="preserve">
+ <value>pagesfoldersTypeToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;pagesfoldersTypeToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;disablePagefoldersToolStripMenuItem.Name" xml:space="preserve">
+ <value>disablePagefoldersToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;disablePagefoldersToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;toolStripMenuItem3.Name" xml:space="preserve">
+ <value>toolStripMenuItem3</value>
+ </data>
+ <data name="&gt;&gt;toolStripMenuItem3.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;automaticToolStripMenuItem.Name" xml:space="preserve">
+ <value>automaticToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;automaticToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;automaticOriginalToolStripMenuItem.Name" xml:space="preserve">
+ <value>automaticOriginalToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;automaticOriginalToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;pagesToolStripMenuItem.Name" xml:space="preserve">
+ <value>pagesToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;pagesToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;pagesOriginalToolStripMenuItem.Name" xml:space="preserve">
+ <value>pagesOriginalToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;pagesOriginalToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;foldersToolStripMenuItem.Name" xml:space="preserve">
+ <value>foldersToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;foldersToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;foldersOriginalToolStripMenuItem.Name" xml:space="preserve">
+ <value>foldersOriginalToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;foldersOriginalToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;foldersSplitByFirstLetterToolStripMenuItem.Name" xml:space="preserve">
+ <value>foldersSplitByFirstLetterToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;foldersSplitByFirstLetterToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;foldersSplitByFirstLetterOriginalToolStripMenuItem.Name" xml:space="preserve">
+ <value>foldersSplitByFirstLetterOriginalToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;foldersSplitByFirstLetterOriginalToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;maximumGamesPerFolderToolStripMenuItem.Name" xml:space="preserve">
+ <value>maximumGamesPerFolderToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;maximumGamesPerFolderToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;max20toolStripMenuItem.Name" xml:space="preserve">
+ <value>max20toolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;max20toolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;max25toolStripMenuItem.Name" xml:space="preserve">
+ <value>max25toolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;max25toolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;max30toolStripMenuItem.Name" xml:space="preserve">
+ <value>max30toolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;max30toolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;max35toolStripMenuItem.Name" xml:space="preserve">
+ <value>max35toolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;max35toolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;max40toolStripMenuItem.Name" xml:space="preserve">
+ <value>max40toolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;max40toolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;max45toolStripMenuItem.Name" xml:space="preserve">
+ <value>max45toolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;max45toolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;max50toolStripMenuItem.Name" xml:space="preserve">
+ <value>max50toolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;max50toolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;max60toolStripMenuItem.Name" xml:space="preserve">
+ <value>max60toolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;max60toolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;max70toolStripMenuItem.Name" xml:space="preserve">
+ <value>max70toolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;max70toolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;max80toolStripMenuItem.Name" xml:space="preserve">
+ <value>max80toolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;max80toolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;max90toolStripMenuItem.Name" xml:space="preserve">
+ <value>max90toolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;max90toolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;max100toolStripMenuItem.Name" xml:space="preserve">
+ <value>max100toolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;max100toolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;toolStripMenuItem4.Name" xml:space="preserve">
+ <value>toolStripMenuItem4</value>
+ </data>
+ <data name="&gt;&gt;toolStripMenuItem4.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;customToolStripMenuItem.Name" xml:space="preserve">
+ <value>customToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;customToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Name" xml:space="preserve">
+ <value>globalCommandLineArgumentsexpertsOnluToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;toolStripMenuItem5.Name" xml:space="preserve">
+ <value>toolStripMenuItem5</value>
+ </data>
+ <data name="&gt;&gt;toolStripMenuItem5.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;saveSettingsToNESMiniNowToolStripMenuItem.Name" xml:space="preserve">
+ <value>saveSettingsToNESMiniNowToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;saveSettingsToNESMiniNowToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;toolsToolStripMenuItem.Name" xml:space="preserve">
+ <value>toolsToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;toolsToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;saveStateManagerToolStripMenuItem.Name" xml:space="preserve">
+ <value>saveStateManagerToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;saveStateManagerToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;toolStripMenuItem6.Name" xml:space="preserve">
+ <value>toolStripMenuItem6</value>
+ </data>
+ <data name="&gt;&gt;toolStripMenuItem6.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;FTPToolStripMenuItem.Name" xml:space="preserve">
+ <value>FTPToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;FTPToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;openFTPInExplorerToolStripMenuItem.Name" xml:space="preserve">
+ <value>openFTPInExplorerToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;openFTPInExplorerToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;toolStripMenuItem7.Name" xml:space="preserve">
+ <value>toolStripMenuItem7</value>
+ </data>
+ <data name="&gt;&gt;toolStripMenuItem7.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;shellToolStripMenuItem.Name" xml:space="preserve">
+ <value>shellToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;shellToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;openTelnetToolStripMenuItem.Name" xml:space="preserve">
+ <value>openTelnetToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;openTelnetToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;toolStripMenuItem8.Name" xml:space="preserve">
+ <value>toolStripMenuItem8</value>
+ </data>
+ <data name="&gt;&gt;toolStripMenuItem8.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;takeScreenshotToolStripMenuItem.Name" xml:space="preserve">
+ <value>takeScreenshotToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;takeScreenshotToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;helpToolStripMenuItem.Name" xml:space="preserve">
+ <value>helpToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;helpToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;gitHubPageWithActualReleasesToolStripMenuItem.Name" xml:space="preserve">
+ <value>gitHubPageWithActualReleasesToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;gitHubPageWithActualReleasesToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;fAQToolStripMenuItem.Name" xml:space="preserve">
+ <value>fAQToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;fAQToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;aboutToolStripMenuItem.Name" xml:space="preserve">
+ <value>aboutToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;aboutToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;toolStripStatusConnectionIcon.Name" xml:space="preserve">
+ <value>toolStripStatusConnectionIcon</value>
+ </data>
+ <data name="&gt;&gt;toolStripStatusConnectionIcon.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;toolStripStatusLabelSelected.Name" xml:space="preserve">
+ <value>toolStripStatusLabelSelected</value>
+ </data>
+ <data name="&gt;&gt;toolStripStatusLabelSelected.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;toolStripStatusLabelSize.Name" xml:space="preserve">
+ <value>toolStripStatusLabelSize</value>
+ </data>
+ <data name="&gt;&gt;toolStripStatusLabelSize.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;toolStripProgressBar.Name" xml:space="preserve">
+ <value>toolStripProgressBar</value>
+ </data>
+ <data name="&gt;&gt;toolStripProgressBar.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripProgressBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;openFileDialogNes.Name" xml:space="preserve">
+ <value>openFileDialogNes</value>
+ </data>
+ <data name="&gt;&gt;openFileDialogNes.Type" xml:space="preserve">
+ <value>System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;selectAllToolStripMenuItem.Name" xml:space="preserve">
+ <value>selectAllToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;selectAllToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;unselectAllToolStripMenuItem.Name" xml:space="preserve">
+ <value>unselectAllToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;unselectAllToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;deleteGameToolStripMenuItem.Name" xml:space="preserve">
+ <value>deleteGameToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;deleteGameToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;openFileDialogImage.Name" xml:space="preserve">
+ <value>openFileDialogImage</value>
+ </data>
+ <data name="&gt;&gt;openFileDialogImage.Type" xml:space="preserve">
+ <value>System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;timerCalculateGames.Name" xml:space="preserve">
+ <value>timerCalculateGames</value>
+ </data>
+ <data name="&gt;&gt;timerCalculateGames.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;timerConnectionCheck.Name" xml:space="preserve">
+ <value>timerConnectionCheck</value>
+ </data>
+ <data name="&gt;&gt;timerConnectionCheck.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;$this.Name" xml:space="preserve">
+ <value>MainForm</value>
+ </data>
+ <data name="&gt;&gt;$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
</root> \ No newline at end of file
diff --git a/Manager/GameManager.cs b/Manager/GameManager.cs
new file mode 100644
index 00000000..28183241
--- /dev/null
+++ b/Manager/GameManager.cs
@@ -0,0 +1,205 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.IO;
+using System.Diagnostics;
+using System.Windows.Forms;
+using com.clusterrr.hakchi_gui.Properties;
+namespace com.clusterrr.hakchi_gui.Manager
+{
+ public class GameManager
+ {
+ static NesDefaultGame[] defaultNesGames = new NesDefaultGame[] {
+ new NesDefaultGame { Code = "CLV-P-NAAAE", Name = "Super Mario Bros.", Size = 571031 },
+ new NesDefaultGame { Code = "CLV-P-NAACE", Name = "Super Mario Bros. 3", Size = 1163285 },
+ new NesDefaultGame { Code = "CLV-P-NAADE", Name = "Super Mario Bros. 2",Size = 1510337 },
+ new NesDefaultGame { Code = "CLV-P-NAAEE", Name = "Donkey Kong", Size = 556016 },
+ new NesDefaultGame { Code = "CLV-P-NAAFE", Name = "Donkey Kong Jr." , Size = 558176 },
+ new NesDefaultGame { Code = "CLV-P-NAAHE", Name = "Excitebike", Size = 573231 },
+ new NesDefaultGame { Code = "CLV-P-NAANE", Name = "The Legend of Zelda", Size = 663910 },
+ new NesDefaultGame { Code = "CLV-P-NAAPE", Name = "Kirby's Adventure", Size = 1321661 },
+ new NesDefaultGame { Code = "CLV-P-NAAQE", Name = "Metroid", Size = 662601 },
+ new NesDefaultGame { Code = "CLV-P-NAARE", Name = "Balloon Fight", Size = 556131 },
+ new NesDefaultGame { Code = "CLV-P-NAASE", Name = "Zelda II - The Adventure of Link", Size = 1024158 },
+ new NesDefaultGame { Code = "CLV-P-NAATE", Name = "Punch-Out!! Featuring Mr. Dream", Size = 1038128 },
+ new NesDefaultGame { Code = "CLV-P-NAAUE", Name = "Ice Climber", Size = 553436 },
+ new NesDefaultGame { Code = "CLV-P-NAAVE", Name = "Kid Icarus", Size = 670710 },
+ new NesDefaultGame { Code = "CLV-P-NAAWE", Name = "Mario Bros.", Size = 1018973 },
+ new NesDefaultGame { Code = "CLV-P-NAAXE", Name = "Dr. MARIO", Size = 1089427 },
+ new NesDefaultGame { Code = "CLV-P-NAAZE", Name = "StarTropics", Size = 1299361 },
+ new NesDefaultGame { Code = "CLV-P-NABBE", Name = "MEGA MAN™ 2", Size = 569868 },
+ new NesDefaultGame { Code = "CLV-P-NABCE", Name = "GHOSTS'N GOBLINS™", Size = 440971 },
+ new NesDefaultGame { Code = "CLV-P-NABJE", Name = "FINAL FANTASY®", Size = 552556 },
+ new NesDefaultGame { Code = "CLV-P-NABKE", Name = "BUBBLE BOBBLE" , Size = 474232 },
+ new NesDefaultGame { Code = "CLV-P-NABME", Name = "PAC-MAN", Size = 325888 },
+ new NesDefaultGame { Code = "CLV-P-NABNE", Name = "Galaga", Size = 347079 },
+ new NesDefaultGame { Code = "CLV-P-NABQE", Name = "Castlevania", Size = 434240 },
+ new NesDefaultGame { Code = "CLV-P-NABRE", Name = "GRADIUS", Size = 370790 },
+ new NesDefaultGame { Code = "CLV-P-NABVE", Name = "Super C", Size = 565974 },
+ new NesDefaultGame { Code = "CLV-P-NABXE", Name = "Castlevania II Simon's Quest", Size = 569759 },
+ new NesDefaultGame { Code = "CLV-P-NACBE", Name = "NINJA GAIDEN", Size =573536 },
+ new NesDefaultGame { Code = "CLV-P-NACDE", Name = "TECMO BOWL", Size =568276 },
+ new NesDefaultGame { Code = "CLV-P-NACHE", Name = "DOUBLE DRAGON II: The Revenge", Size = 578900 }
+ };
+ NesDefaultGame[] defaultFamicomGames = new NesDefaultGame[] {
+ new NesDefaultGame { Code = "CLV-P-HAAAJ", Name = "スーパーマリオブラザーズ", Size = 596775 },
+ new NesDefaultGame { Code = "CLV-P-HAACJ", Name = "スーパーマリオブラザーズ3", Size = 1411534 },
+ new NesDefaultGame { Code = "CLV-P-HAADJ", Name = "スーパーマリオUSA", Size = 1501542 },
+ new NesDefaultGame { Code = "CLV-P-HAAEJ", Name = "ドンキーコング" , Size = 568006 },
+ new NesDefaultGame { Code = "CLV-P-HAAHJ", Name = "エキサイトバイク" , Size = 597513 },
+ new NesDefaultGame { Code = "CLV-P-HAAMJ", Name = "マリオオープンゴルフ" , Size = 798179 },
+ new NesDefaultGame { Code = "CLV-P-HAANJ", Name = "ゼルダの伝説", Size = 677971 },
+ new NesDefaultGame { Code = "CLV-P-HAAPJ", Name = "星のカービィ 夢の泉の物語" , Size = 1331436 },
+ new NesDefaultGame { Code = "CLV-P-HAAQJ", Name = "メトロイド" , Size = 666895 },
+ new NesDefaultGame { Code = "CLV-P-HAARJ", Name = "バルーンファイト" , Size = 569750 },
+ new NesDefaultGame { Code = "CLV-P-HAASJ", Name = "リンクの冒険" , Size = 666452 },
+ new NesDefaultGame { Code = "CLV-P-HAAUJ", Name = "アイスクライマー" , Size = 812372 },
+ new NesDefaultGame { Code = "CLV-P-HAAWJ", Name = "マリオブラザーズ" , Size = 1038275 },
+ new NesDefaultGame { Code = "CLV-P-HAAXJ", Name = "ドクターマリオ" , Size = 1083234 },
+ new NesDefaultGame { Code = "CLV-P-HABBJ", Name = "ロックマン®2 Dr.ワイリーの謎" , Size = 592425 },
+ new NesDefaultGame { Code = "CLV-P-HABCJ", Name = "魔界村®", Size = 456166 },
+ new NesDefaultGame { Code = "CLV-P-HABLJ", Name = "ファイナルファンタジー®III" , Size = 830898 },
+ new NesDefaultGame { Code = "CLV-P-HABMJ", Name = "パックマン" , Size = 341593 },
+ new NesDefaultGame { Code = "CLV-P-HABNJ", Name = "ギャラガ", Size = 345552 },
+ new NesDefaultGame { Code = "CLV-P-HABQJ", Name = "悪魔城ドラキュラ" , Size = 428522 },
+ new NesDefaultGame { Code = "CLV-P-HABRJ", Name = "グラディウス", Size = 393055 },
+ new NesDefaultGame { Code = "CLV-P-HABVJ", Name = "スーパー魂斗羅" , Size = 569537 },
+ new NesDefaultGame { Code = "CLV-P-HACAJ", Name = "イー・アル・カンフー", Size = 336353 },
+ new NesDefaultGame { Code = "CLV-P-HACBJ", Name = "忍者龍剣伝" , Size = 578623 },
+ new NesDefaultGame { Code = "CLV-P-HACCJ", Name = "ソロモンの鍵" , Size = 387084 },
+ new NesDefaultGame { Code = "CLV-P-HACEJ", Name = "つっぱり大相撲", Size = 392595 },
+ new NesDefaultGame { Code = "CLV-P-HACHJ", Name = "ダブルドラゴンⅡ The Revenge", Size = 579757 },
+ new NesDefaultGame { Code = "CLV-P-HACJJ", Name = "ダウンタウン熱血物語" , Size = 588367 },
+ new NesDefaultGame { Code = "CLV-P-HACLJ", Name = "ダウンタウン熱血行進曲 それゆけ大運動会", Size = 587083 },
+ new NesDefaultGame { Code = "CLV-P-HACPJ", Name = "アトランチスの謎", Size = 376213 }
+ };
+ public static GameManager GetInstance()
+ {
+ if(instance == null)
+ {
+ instance = new GameManager();
+ }
+ return instance;
+ }
+ private static GameManager instance;
+ private Dictionary<AppTypeCollection.AppInfo, List<NesMiniApplication>> systemClassifiedGames = new Dictionary<AppTypeCollection.AppInfo, List<NesMiniApplication>>();
+ private List<NesMiniApplication> gameLibrary = new List<NesMiniApplication>();
+ private GameManager()
+ {
+ LoadLibrary();
+ }
+ public IOrderedEnumerable<NesMiniApplication> getAllGames()
+ {
+ return gameLibrary.OrderBy(o => o.Name);
+ }
+ public void SaveChanges()
+ {
+ var selected = new List<string>();
+ foreach (var game in gameLibrary)
+ {
+ try
+ {
+ if(game.Selected)
+ {
+ selected.Add(game.Code);
+ }
+ // Maybe type was changed? Need to reload games
+ game.Save();
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ MessageBox.Show( ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+
+ }
+ /*Rebuild selected config*/
+ ConfigIni.SelectedGames = string.Join(";", selected.ToArray());
+ ConfigIni.Save();
+
+ /*Why? If a game type has change its going to be reloaded...*/
+ // LoadLibrary();
+ }
+ public void ReloadDefault()
+ {
+ string[] selectedGames = ConfigIni.SelectedGames.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
+ List<NesDefaultGame> toremove = new List<NesDefaultGame>();
+ foreach (var game in gameLibrary)
+ {
+ if (game.GetType() == typeof(NesDefaultGame))
+ {
+ toremove.Add((NesDefaultGame)game);
+ }
+ }
+ foreach (var tr in toremove)
+ {
+ gameLibrary.Remove(tr);
+ }
+ AppTypeCollection.AppInfo inf = AppTypeCollection.GetAppByClass(typeof(NesDefaultGame));
+ if (systemClassifiedGames.ContainsKey(inf))
+ {
+ systemClassifiedGames[inf].Clear();
+ }
+
+ foreach (var game in new List<NesDefaultGame>(ConfigIni.ConsoleType == 0 ? defaultNesGames : defaultFamicomGames).OrderBy(o => o.Name))
+ {
+ game.Selected = selectedGames.Contains(game.Code);
+
+ gameLibrary.Add(game);
+
+ AppTypeCollection.AppInfo inf2 = AppTypeCollection.GetAppByClass(game.GetType());
+ if (!systemClassifiedGames.ContainsKey(inf2))
+ {
+ systemClassifiedGames[inf2] = new List<NesMiniApplication>();
+ }
+ systemClassifiedGames[inf2].Add(game);
+ }
+ }
+ private void LoadLibrary()
+ {
+
+ gameLibrary.Clear();
+ ReloadDefault();
+ string[] selectedGames = ConfigIni.SelectedGames.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
+ if (!System.IO.Directory.Exists(NesMiniApplication.GamesDirectory))
+ {
+ Directory.CreateDirectory(NesMiniApplication.GamesDirectory);
+ }
+ var gameDirs = Directory.GetDirectories(NesMiniApplication.GamesDirectory);
+
+ foreach (var gameDir in gameDirs)
+ {
+ try
+ {
+ // Removing empty directories without errors
+ try
+ {
+ var game = NesMiniApplication.FromDirectory(gameDir);
+ game.Selected = selectedGames.Contains(game.Code);
+
+ gameLibrary.Add(game);
+
+ AppTypeCollection.AppInfo inf = AppTypeCollection.GetAppByClass(game.GetType());
+ if(!systemClassifiedGames.ContainsKey(inf))
+ {
+ systemClassifiedGames[inf] = new List<NesMiniApplication>();
+ }
+ systemClassifiedGames[inf].Add(game);
+ }
+ catch (FileNotFoundException ex) // Remove bad directories if any
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ Directory.Delete(gameDir, true);
+ }
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ MessageBox.Show(ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ continue;
+ }
+ }
+ }
+ }
+}
diff --git a/NesDefaultGame.cs b/NesDefaultGame.cs
index b3ee8c04..4e736851 100644
--- a/NesDefaultGame.cs
+++ b/NesDefaultGame.cs
@@ -1,34 +1,37 @@
-
-namespace com.clusterrr.hakchi_gui
-{
- public class NesDefaultGame : INesMenuElement
- {
- private string code;
-
- public string Code
- {
- get { return code; }
- set { code = value; }
- }
- private string name;
-
- public string Name
- {
- get { return name; }
- set { name = value; }
- }
-
- public override string ToString()
- {
- return Name;
- }
-
- private int size;
-
- public int Size
- {
- get { return size; }
- set { size = value; }
- }
- }
-}
+
+namespace com.clusterrr.hakchi_gui
+{
+ public class NesDefaultGame : NesMiniApplication, INesMenuElement
+ {
+ //private string code;
+
+ public new string Code
+ {
+ get { return code; }
+ set { code = value; }
+ }
+ //private string name;
+
+ /* public string Name
+ {
+ get { return name; }
+ set { name = value; }
+ }*/
+ public override bool Save()
+ {
+ return true;
+ }
+ public override string ToString()
+ {
+ return Name;
+ }
+
+ private int size;
+
+ public new int Size
+ {
+ get { return size; }
+ set { size = value; }
+ }
+ }
+}
diff --git a/hakchi_gui.csproj b/hakchi_gui.csproj
index 9e69c85d..3f8c4f83 100644
--- a/hakchi_gui.csproj
+++ b/hakchi_gui.csproj
@@ -1,1683 +1,1693 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProjectGuid>{F1F983FD-A54F-4881-8394-5A4BA65EFD6B}</ProjectGuid>
- <OutputType>WinExe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>com.clusterrr.hakchi_gui</RootNamespace>
- <AssemblyName>hakchi</AssemblyName>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- <NoStdLib>False</NoStdLib>
- <TreatWarningsAsErrors>False</TreatWarningsAsErrors>
- <IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
- <IsWebBootstrapper>true</IsWebBootstrapper>
- <PublishUrl>ftp://clusterrr.com/www/www/soft/hakchi2/</PublishUrl>
- <Install>true</Install>
- <InstallFrom>Web</InstallFrom>
- <UpdateEnabled>true</UpdateEnabled>
- <UpdateMode>Background</UpdateMode>
- <UpdateInterval>7</UpdateInterval>
- <UpdateIntervalUnits>Days</UpdateIntervalUnits>
- <UpdatePeriodically>false</UpdatePeriodically>
- <UpdateRequired>false</UpdateRequired>
- <MapFileExtensions>false</MapFileExtensions>
- <InstallUrl>http://clusterrr.com/soft/hakchi2/</InstallUrl>
- <SupportUrl>http://clusterrr.com</SupportUrl>
- <ProductName>hakchi2</ProductName>
- <PublisherName>Alexey %27Cluster%27 Avdyukhin</PublisherName>
- <CreateWebPageOnPublish>true</CreateWebPageOnPublish>
- <WebPage>index.html</WebPage>
- <ApplicationRevision>14</ApplicationRevision>
- <ApplicationVersion>2.0.17.14</ApplicationVersion>
- <UseApplicationTrust>false</UseApplicationTrust>
- <CreateDesktopShortcut>true</CreateDesktopShortcut>
- <PublishWizardCompleted>true</PublishWizardCompleted>
- <BootstrapperEnabled>true</BootstrapperEnabled>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <PlatformTarget>AnyCPU</PlatformTarget>
- <DebugSymbols>true</DebugSymbols>
- <DebugType>Full</DebugType>
- <Optimize>False</Optimize>
- <OutputPath>bin\Debug\</OutputPath>
- <DefineConstants>TRACE;DEBUG;LIBUSBDOTNET WINDOWS_TESTING</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <PlatformTarget>AnyCPU</PlatformTarget>
- <DebugType>none</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>bin\Release\</OutputPath>
- <DefineConstants>TRACE;LIBUSBDOTNET WINDOWS_TESTING</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
- </PropertyGroup>
- <PropertyGroup>
- <ApplicationIcon>icon.ico</ApplicationIcon>
- </PropertyGroup>
- <PropertyGroup />
- <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
- <CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
- <BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
- <BaseAddress>4194304</BaseAddress>
- <RegisterForComInterop>False</RegisterForComInterop>
- <GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
- </PropertyGroup>
- <PropertyGroup />
- <PropertyGroup />
- <PropertyGroup />
- <PropertyGroup />
- <PropertyGroup />
- <PropertyGroup>
- <TargetZone>LocalIntranet</TargetZone>
- </PropertyGroup>
- <PropertyGroup>
- <GenerateManifests>true</GenerateManifests>
- </PropertyGroup>
- <PropertyGroup>
- <SignManifests>true</SignManifests>
- </PropertyGroup>
- <PropertyGroup>
- <ManifestCertificateThumbprint>1D05715BF83320949FC1BAC8462308051A0C0F04</ManifestCertificateThumbprint>
- </PropertyGroup>
- <PropertyGroup>
- <ManifestKeyFile>cluster_cert.pfx</ManifestKeyFile>
- </PropertyGroup>
- <PropertyGroup />
- <PropertyGroup />
- <PropertyGroup />
- <PropertyGroup />
- <PropertyGroup>
- <NoWin32Manifest>true</NoWin32Manifest>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="System" />
- <Reference Include="System.Core" />
- <Reference Include="System.Management" />
- <Reference Include="System.Web" />
- <Reference Include="System.Xml.Linq" />
- <Reference Include="System.Data.DataSetExtensions" />
- <Reference Include="System.Data" />
- <Reference Include="System.Deployment" />
- <Reference Include="System.Drawing" />
- <Reference Include="System.Windows.Forms" />
- <Reference Include="System.Xml" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="AboutBox.cs">
- <SubType>Form</SubType>
- </Compile>
- <Compile Include="AboutBox.Designer.cs">
- <DependentUpon>AboutBox.cs</DependentUpon>
- </Compile>
- <Compile Include="Apps\AppTypeCollection.cs" />
- <Compile Include="Apps\ArcadeGame.cs" />
- <Compile Include="Apps\Atari2600Game.cs" />
- <Compile Include="Apps\Sega32XGame.cs" />
- <Compile Include="Apps\GenesisGame.cs" />
- <Compile Include="Apps\PceGame.cs" />
- <Compile Include="Apps\GbaGame.cs" />
- <Compile Include="Apps\GbcGame.cs" />
- <Compile Include="Apps\GbGame.cs" />
- <Compile Include="Apps\N64Game.cs" />
- <Compile Include="Apps\GameGearGame.cs" />
- <Compile Include="Apps\SmsGame.cs" />
- <Compile Include="Apps\SnesGame.cs" />
- <Compile Include="Apps\NesUGame.cs" />
- <Compile Include="Clovershell\ClovershellConnection.cs" />
- <Compile Include="Clovershell\ClovershellException.cs" />
- <Compile Include="Clovershell\ExecConnection.cs" />
- <Compile Include="Clovershell\ShellConnection.cs" />
- <Compile Include="ConfigIni.cs" />
- <Compile Include="FileBrowserForm.cs">
- <SubType>Form</SubType>
- </Compile>
- <Compile Include="FileBrowserForm.Designer.cs">
- <DependentUpon>FileBrowserForm.cs</DependentUpon>
- </Compile>
- <Compile Include="FtpServer\NesMiniFileSystemHandler.cs" />
- <Compile Include="FtpServer\NesMiniAuthHandler.cs" />
- <Compile Include="FtpServer\DebugLogHandler.cs" />
- <Compile Include="FtpServer\FileSystemHelper.cs" />
- <Compile Include="FtpServer\IAuthHandler.cs" />
- <Compile Include="FtpServer\IFileSystemHandler.cs" />
- <Compile Include="FtpServer\ILogHandler.cs" />
- <Compile Include="FtpServer\Server.cs" />
- <Compile Include="FtpServer\Session.cs" />
- <Compile Include="GameGenieCodeAddModForm.cs">
- <SubType>Form</SubType>
- </Compile>
- <Compile Include="GameGenieCodeAddModForm.designer.cs">
- <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
- </Compile>
- <Compile Include="GameGenieCodeForm.cs">
- <SubType>Form</SubType>
- </Compile>
- <Compile Include="GameGenieCodeForm.designer.cs">
- <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
- </Compile>
- <Compile Include="GameGenieDataBase.cs" />
- <Compile Include="ImagesForm.cs">
- <SubType>Form</SubType>
- </Compile>
- <Compile Include="ImagesForm.Designer.cs">
- <DependentUpon>ImagesForm.cs</DependentUpon>
- </Compile>
- <Compile Include="LibWinUsb\Descriptors\ClassCodeType.cs" />
- <Compile Include="LibWinUsb\Descriptors\DescriptorType.cs" />
- <Compile Include="LibWinUsb\Descriptors\LangStringDescriptor.cs" />
- <Compile Include="LibWinUsb\Descriptors\StringDescriptor.cs" />
- <Compile Include="LibWinUsb\Descriptors\UsbConfigDescriptor.cs" />
- <Compile Include="LibWinUsb\Descriptors\UsbDescriptor.cs" />
- <Compile Include="LibWinUsb\Descriptors\UsbDeviceDescriptor.cs" />
- <Compile Include="LibWinUsb\Descriptors\UsbEndpointDescriptor.cs" />
- <Compile Include="LibWinUsb\Descriptors\UsbInterfaceDescriptor.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\DeviceNotifier.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\DeviceNotifyEventArgs.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\DeviceType.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\EventType.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\IDeviceNotifier.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\Info\IPortNotifyInfo.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\Info\IUsbDeviceNotifyInfo.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\Info\IVolumeNotifyInfo.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\Info\PortNotifyInfo.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\Info\UsbDeviceNotifyInfo.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\Info\VolumeNotifyInfo.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\Internal\DevBroadcastDeviceinterface.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\Internal\DevBroadcastHdr.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\Internal\DevBroadcastPort.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\Internal\DevBroadcastVolume.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\Internal\DevNotifyNativeWindow.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\Internal\SafeNotifyHandle.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxDeviceNotifier.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxDeviceNotifier.DeviceListPolling.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxDeviceNotifier.DevMonitor.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxDeviceNotifierMode.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxDeviceNotifyEventArgs.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxDevItem.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxDevItemList.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxUsbDeviceNotifyInfo.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\WindowsDeviceNotifier.cs" />
- <Compile Include="LibWinUsb\DeviceNotify\WindowsDeviceNotifyEventArgs.cs" />
- <Compile Include="LibWinUsb\Info\UsbBaseInfo.cs" />
- <Compile Include="LibWinUsb\Info\UsbConfigInfo.cs" />
- <Compile Include="LibWinUsb\Info\UsbDeviceInfo.cs" />
- <Compile Include="LibWinUsb\Info\UsbEndpointInfo.cs" />
- <Compile Include="LibWinUsb\Info\UsbInterfaceInfo.cs" />
- <Compile Include="LibWinUsb\Internal\Kernel32.cs" />
- <Compile Include="LibWinUsb\Internal\OverlappedTransferContext.cs" />
- <Compile Include="LibWinUsb\Internal\SafeOverlapped.cs" />
- <Compile Include="LibWinUsb\Internal\SetupApi.cs" />
- <Compile Include="LibWinUsb\Internal\TransferContextBase.cs" />
- <Compile Include="LibWinUsb\Internal\UsbApiBase.cs" />
- <Compile Include="LibWinUsb\Internal\UsbRegex\BaseRegSymbolicName.cs" />
- <Compile Include="LibWinUsb\Internal\UsbRegex\NamedGroup.cs" />
- <Compile Include="LibWinUsb\Internal\UsbRegex\RegHardwareID.cs" />
- <Compile Include="LibWinUsb\Internal\UsbRegex\RegSymbolicName.cs" />
- <Compile Include="LibWinUsb\IUsbDevice.cs" />
- <Compile Include="LibWinUsb\IUsbInterface.cs" />
- <Compile Include="LibWinUsb\LibUsb\Internal\LibUsbAPI.cs" />
- <Compile Include="LibWinUsb\LibUsb\Internal\LibUsbDriverIO.cs" />
- <Compile Include="LibWinUsb\LibUsb\Internal\LibUsbDriverIO_IOControlMessage.cs" />
- <Compile Include="LibWinUsb\LibUsb\Internal\LibUsbIoCtl.cs" />
- <Compile Include="LibWinUsb\LibUsb\Internal\LibUsbRequest.cs" />
- <Compile Include="LibWinUsb\LibUsb\LibUsbDevice.cs" />
- <Compile Include="LibWinUsb\LibUsb\LibUsbDeviceRegistryKeyRequest.cs" />
- <Compile Include="LibWinUsb\LibUsb\LibUsbKernelType.cs" />
- <Compile Include="LibWinUsb\LibUsb\LibUsbRegistry.cs" />
- <Compile Include="LibWinUsb\Main\ControlEpLockType.cs" />
- <Compile Include="LibWinUsb\Main\DataEpLockType.cs" />
- <Compile Include="LibWinUsb\Main\DataReceivedEnabledChangedEventArgs.cs" />
- <Compile Include="LibWinUsb\Main\DeviceLockType.cs" />
- <Compile Include="LibWinUsb\Main\DevicePropertyType.cs" />
- <Compile Include="LibWinUsb\Main\EndpointDataEventArgs.cs" />
- <Compile Include="LibWinUsb\Main\EndpointType.cs" />
- <Compile Include="LibWinUsb\Main\ErrorCode.cs" />
- <Compile Include="LibWinUsb\Main\Helper.cs" />
- <Compile Include="LibWinUsb\Main\LegacyUsbRegistry.cs" />
- <Compile Include="LibWinUsb\Main\ReadEndpointID.cs" />
- <Compile Include="LibWinUsb\Main\SafeContextHandle.cs" />
- <Compile Include="LibWinUsb\Main\SetupApiRegistry.cs" />
- <Compile Include="LibWinUsb\Main\SPDRP.cs" />
- <Compile Include="LibWinUsb\Main\UsbConstants.cs" />
- <Compile Include="LibWinUsb\Main\UsbCtrlFlags.cs" />
- <Compile Include="LibWinUsb\Main\UsbDeviceFinder.cs" />
- <Compile Include="LibWinUsb\Main\UsbEndpointBase.cs" />
- <Compile Include="LibWinUsb\Main\UsbEndpointDirection.cs" />
- <Compile Include="LibWinUsb\Main\UsbEndpointList.cs" />
- <Compile Include="LibWinUsb\Main\UsbException.cs" />
- <Compile Include="LibWinUsb\Main\UsbKernelVersion.cs" />
- <Compile Include="LibWinUsb\Main\UsbLockStyle.cs" />
- <Compile Include="LibWinUsb\Main\UsbRegDeviceList.cs" />
- <Compile Include="LibWinUsb\Main\UsbRegistry.cs" />
- <Compile Include="LibWinUsb\Main\UsbRequestRecipient.cs" />
- <Compile Include="LibWinUsb\Main\UsbRequestType.cs" />
- <Compile Include="LibWinUsb\Main\UsbSetupPacket.cs" />
- <Compile Include="LibWinUsb\Main\UsbStandardRequest.cs" />
- <Compile Include="LibWinUsb\Main\UsbStatusClodes.cs" />
- <Compile Include="LibWinUsb\Main\UsbStream.cs" />
- <Compile Include="LibWinUsb\Main\UsbSymbolicName.cs" />
- <Compile Include="LibWinUsb\Main\UsbTransfer.cs" />
- <Compile Include="LibWinUsb\Main\WriteEndpointID.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\CallbackDelegates.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Descriptors\MonoUsbAltInterfaceDescriptor.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Descriptors\MonoUsbConfigDescriptor.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Descriptors\MonoUsbDeviceDescriptor.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Descriptors\MonoUsbEndpointDescriptor.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Descriptors\MonoUsbInterface.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\MonoLibUsbApi.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\MonoUsbDevice.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\MonoUsbDeviceHandle.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\MonoUsbEndpointReader.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\MonoUsbEndpointWriter.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\MonoUsbError.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\MonoUsbEventHandler.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\MonoUsbSessionHandle.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Profile\AddRemoveEventArgs.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Profile\AddRemoveType.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Profile\MonoUsbConfigHandle.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Profile\MonoUsbProfile.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Profile\MonoUsbProfileHandle.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Profile\MonoUsbProfileHandleEnumerator.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Profile\MonoUsbProfileList.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Profile\MonoUsbProfileListHandle.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Profile\PollfdItem.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Transfer\Internal\libusb_control_setup.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Transfer\Internal\libusb_iso_packet_descriptor.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Transfer\Internal\libusb_transfer.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Transfer\MonoUsbControlSetup.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Transfer\MonoUsbControlSetupHandle.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Transfer\MonoUsbIsoPacket.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Transfer\MonoUsbTansferStatus.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Transfer\MonoUsbTransfer.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Transfer\MonoUsbTransferContext.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\Transfer\MonoUsbTransferFlags.cs" />
- <Compile Include="LibWinUsb\MonoLibUsb\UnixNativeTimeval.cs" />
- <Compile Include="LibWinUsb\UsbDevice.Common.cs" />
- <Compile Include="LibWinUsb\UsbDevice.cs" />
- <Compile Include="LibWinUsb\UsbDevice.Error.cs" />
- <Compile Include="LibWinUsb\UsbDevice.OS.Specific.cs" />
- <Compile Include="LibWinUsb\UsbEndpointReader.cs" />
- <Compile Include="LibWinUsb\UsbEndpointWriter.cs" />
- <Compile Include="LibWinUsb\UsbGlobals.cs" />
- <Compile Include="LibWinUsb\WinUsb\DeviceInformationTypes.cs" />
- <Compile Include="LibWinUsb\WinUsb\DeviceSpeedTypes.cs" />
- <Compile Include="LibWinUsb\WinUsb\Internal\SafeWinUsbInterfaceHandle.cs" />
- <Compile Include="LibWinUsb\WinUsb\Internal\WinUsbAPI.cs" />
- <Compile Include="LibWinUsb\WinUsb\PipeInformation.cs" />
- <Compile Include="LibWinUsb\WinUsb\PipePolicies.cs" />
- <Compile Include="LibWinUsb\WinUsb\PipePolicyType.cs" />
- <Compile Include="LibWinUsb\WinUsb\PowerPolicies.cs" />
- <Compile Include="LibWinUsb\WinUsb\PowerPolicyType.cs" />
- <Compile Include="LibWinUsb\WinUsb\WinUsbDevice.cs" />
- <Compile Include="LibWinUsb\WinUsb\WinUsbRegistry.cs" />
- <Compile Include="MessageBoxManager.cs" />
- <Compile Include="Properties\Resources.Designer.cs" />
- <Compile Include="SaveStateManager.cs">
- <SubType>Form</SubType>
- </Compile>
- <Compile Include="SaveStateManager.Designer.cs">
- <DependentUpon>SaveStateManager.cs</DependentUpon>
- </Compile>
- <Compile Include="SelectModsForm.cs">
- <SubType>Form</SubType>
- </Compile>
- <Compile Include="SelectModsForm.Designer.cs">
- <DependentUpon>SelectModsForm.cs</DependentUpon>
- </Compile>
- <Compile Include="NesDefaultGame.cs" />
- <Compile Include="FelLib\AWFELMessage.cs" />
- <Compile Include="FelLib\AWFELStandardRequest.cs" />
- <Compile Include="FelLib\AWFELStatusResponse.cs" />
- <Compile Include="FelLib\AWFELVerifyDeviceResponse.cs" />
- <Compile Include="FelLib\AWUSBRequest.cs" />
- <Compile Include="FelLib\AWUSBResponse.cs" />
- <Compile Include="FelLib\Fel.cs" />
- <Compile Include="FelLib\FelException.cs" />
- <Compile Include="FelLib\FelParseException.cs" />
- <Compile Include="GameGeniePatcher.cs" />
- <Compile Include="ImageGooglerForm.cs">
- <SubType>Form</SubType>
- </Compile>
- <Compile Include="ImageGooglerForm.Designer.cs">
- <DependentUpon>ImageGooglerForm.cs</DependentUpon>
- </Compile>
- <Compile Include="INesMenuElement.cs" />
- <Compile Include="IpsPatcher.cs" />
- <Compile Include="MainForm.cs">
- <SubType>Form</SubType>
- </Compile>
- <Compile Include="MainForm.Designer.cs">
- <DependentUpon>MainForm.cs</DependentUpon>
- </Compile>
- <Compile Include="Apps\FdsGame.cs" />
- <Compile Include="NesMenuCollection.cs" />
- <Compile Include="NesMenuFolder.cs" />
- <Compile Include="NesFile.cs" />
- <Compile Include="Apps\NesGame.cs" />
- <Compile Include="Apps\NesMiniApplication.cs" />
- <Compile Include="Program.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- <Compile Include="SearchForm.cs">
- <SubType>Form</SubType>
- </Compile>
- <Compile Include="SearchForm.Designer.cs">
- <DependentUpon>SearchForm.cs</DependentUpon>
- </Compile>
- <Compile Include="SelectButtonsForm.cs">
- <SubType>Form</SubType>
- </Compile>
- <Compile Include="SelectButtonsForm.Designer.cs">
- <DependentUpon>SelectButtonsForm.cs</DependentUpon>
- </Compile>
- <Compile Include="SelectIconForm.cs">
- <SubType>Form</SubType>
- </Compile>
- <Compile Include="SelectIconForm.Designer.cs">
- <DependentUpon>SelectIconForm.cs</DependentUpon>
- </Compile>
- <Compile Include="SelectFileForm.cs">
- <SubType>Form</SubType>
- </Compile>
- <Compile Include="SelectFileForm.Designer.cs">
- <DependentUpon>SelectFileForm.cs</DependentUpon>
- </Compile>
- <Compile Include="SevenZip\ArchiveEmulationStreamProxy.cs" />
- <Compile Include="SevenZip\ArchiveExtractCallback.cs" />
- <Compile Include="SevenZip\ArchiveOpenCallback.cs" />
- <Compile Include="SevenZip\ArchiveUpdateCallback.cs" />
- <Compile Include="SevenZip\COM.cs" />
- <Compile Include="SevenZip\Common.cs" />
- <Compile Include="SevenZip\EventArgs.cs" />
- <Compile Include="SevenZip\Exceptions.cs" />
- <Compile Include="SevenZip\FileSignatureChecker.cs" />
- <Compile Include="SevenZip\Formats.cs" />
- <Compile Include="SevenZip\LibraryFeature.cs" />
- <Compile Include="SevenZip\LibraryManager.cs" />
- <Compile Include="SevenZip\LzmaDecodeStream.cs" />
- <Compile Include="SevenZip\LzmaEncodeStream.cs" />
- <Compile Include="SevenZip\LzmaProgressCallback.cs" />
- <Compile Include="SevenZip\NativeMethods.cs" />
- <Compile Include="SevenZip\sdk\Common\CRC.cs" />
- <Compile Include="SevenZip\sdk\Common\InBuffer.cs" />
- <Compile Include="SevenZip\sdk\Common\OutBuffer.cs" />
- <Compile Include="SevenZip\sdk\Compress\LZMA\LzmaBase.cs" />
- <Compile Include="SevenZip\sdk\Compress\LZMA\LzmaDecoder.cs" />
- <Compile Include="SevenZip\sdk\Compress\LZMA\LzmaEncoder.cs" />
- <Compile Include="SevenZip\sdk\Compress\LZ\IMatchFinder.cs" />
- <Compile Include="SevenZip\sdk\Compress\LZ\LzBinTree.cs" />
- <Compile Include="SevenZip\sdk\Compress\LZ\LzInWindow.cs" />
- <Compile Include="SevenZip\sdk\Compress\LZ\LzOutWindow.cs" />
- <Compile Include="SevenZip\sdk\Compress\RangeCoder\RangeCoder.cs" />
- <Compile Include="SevenZip\sdk\Compress\RangeCoder\RangeCoderBit.cs" />
- <Compile Include="SevenZip\sdk\Compress\RangeCoder\RangeCoderBitTree.cs" />
- <Compile Include="SevenZip\sdk\ICoder.cs" />
- <Compile Include="SevenZip\SevenZipCompressor.cs" />
- <Compile Include="SevenZip\SevenZipCompressorAsynchronous.cs" />
- <Compile Include="SevenZip\SevenZipExtractor.cs" />
- <Compile Include="SevenZip\SevenZipExtractorAsynchronous.cs" />
- <Compile Include="SevenZip\SevenZipSfx.cs" />
- <Compile Include="SevenZip\StreamWrappers.cs" />
- <Compile Include="StringInputForm.cs">
- <SubType>Form</SubType>
- </Compile>
- <Compile Include="StringInputForm.Designer.cs">
- <DependentUpon>StringInputForm.cs</DependentUpon>
- </Compile>
- <Compile Include="TarStream.cs" />
- <Compile Include="TaskbarProgress.cs" />
- <Compile Include="FoldersManagerForm.cs">
- <SubType>Form</SubType>
- </Compile>
- <Compile Include="FoldersManagerForm.Designer.cs">
- <DependentUpon>FoldersManagerForm.cs</DependentUpon>
- </Compile>
- <Compile Include="UnsupportedFourScreenException.cs" />
- <Compile Include="UnsupportedMapperException.cs" />
- <Compile Include="WaitingClovershellForm.cs">
- <SubType>Form</SubType>
- </Compile>
- <Compile Include="WaitingClovershellForm.Designer.cs">
- <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
- </Compile>
- <Compile Include="WaitingFelForm.cs">
- <SubType>Form</SubType>
- </Compile>
- <Compile Include="WaitingFelForm.Designer.cs">
- <DependentUpon>WaitingFelForm.cs</DependentUpon>
- </Compile>
- <Compile Include="WorkerForm.cs">
- <SubType>Form</SubType>
- </Compile>
- <Compile Include="WorkerForm.Designer.cs">
- <DependentUpon>WorkerForm.cs</DependentUpon>
- </Compile>
- <EmbeddedResource Include="AboutBox.resx">
- <DependentUpon>AboutBox.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="FileBrowserForm.resx">
- <DependentUpon>FileBrowserForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="FoldersManagerForm.bg-BG.resx">
- <DependentUpon>FoldersManagerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="FoldersManagerForm.ca-ES.resx">
- <DependentUpon>FoldersManagerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="FoldersManagerForm.de-De.resx">
- <DependentUpon>FoldersManagerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="FoldersManagerForm.el-GR.resx">
- <DependentUpon>FoldersManagerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="FoldersManagerForm.es-AR.resx">
- <DependentUpon>FoldersManagerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="FoldersManagerForm.es-ES.resx">
- <DependentUpon>FoldersManagerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="FoldersManagerForm.fr-FR.resx">
- <DependentUpon>FoldersManagerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="FoldersManagerForm.it-IT.resx">
- <DependentUpon>FoldersManagerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="FoldersManagerForm.nl.resx">
- <DependentUpon>FoldersManagerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="FoldersManagerForm.pt-PT.resx">
- <DependentUpon>FoldersManagerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="FoldersManagerForm.sk-SK.resx">
- <DependentUpon>FoldersManagerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="FoldersManagerForm.sv-SE.resx">
- <DependentUpon>FoldersManagerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeAddModForm.bg-BG.resx">
- <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeAddModForm.ca-ES.resx">
- <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeAddModForm.de-DE.resx">
- <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeAddModForm.el-GR.resx">
- <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeAddModForm.es-AR.resx">
- <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeAddModForm.es-ES.resx">
- <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeAddModForm.fr-FR.resx">
- <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeAddModForm.it-IT.resx">
- <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeAddModForm.nl.resx">
- <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeAddModForm.pl-PL.resx">
- <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeAddModForm.pt-PT.resx">
- <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeAddModForm.resx">
- <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeAddModForm.ru-RU.resx">
- <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeAddModForm.sk-SK.resx">
- <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeAddModForm.sv-SE.resx">
- <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeForm.bg-BG.resx">
- <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeForm.ca-ES.resx">
- <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeForm.de-DE.resx">
- <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeForm.el-GR.resx">
- <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeForm.es-AR.resx">
- <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeForm.es-ES.resx">
- <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeForm.fr-FR.resx">
- <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeForm.it-IT.resx">
- <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeForm.nl.resx">
- <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeForm.pl-PL.resx">
- <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeForm.pt-PT.resx">
- <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeForm.resx">
- <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeForm.ru-RU.resx">
- <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeForm.sk-SK.resx">
- <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="GameGenieCodeForm.sv-SE.resx">
- <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="ImageGooglerForm.bg-BG.resx">
- <DependentUpon>ImageGooglerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="ImageGooglerForm.ca-ES.resx">
- <DependentUpon>ImageGooglerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="ImageGooglerForm.de-DE.resx">
- <DependentUpon>ImageGooglerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="ImageGooglerForm.el-GR.resx">
- <DependentUpon>ImageGooglerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="ImageGooglerForm.es-AR.resx">
- <DependentUpon>ImageGooglerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="ImageGooglerForm.es-ES.resx">
- <DependentUpon>ImageGooglerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="ImageGooglerForm.fr-FR.resx">
- <DependentUpon>ImageGooglerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="ImageGooglerForm.it-IT.resx">
- <DependentUpon>ImageGooglerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="ImageGooglerForm.nl.resx">
- <DependentUpon>ImageGooglerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="ImageGooglerForm.pl-PL.resx">
- <DependentUpon>ImageGooglerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="ImageGooglerForm.pt-PT.resx">
- <DependentUpon>ImageGooglerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="ImageGooglerForm.resx">
- <DependentUpon>ImageGooglerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="ImageGooglerForm.ru-RU.resx">
- <DependentUpon>ImageGooglerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="ImageGooglerForm.sk-SK.resx">
- <DependentUpon>ImageGooglerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="ImageGooglerForm.sv-SE.resx">
- <DependentUpon>ImageGooglerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="ImagesForm.resx">
- <DependentUpon>ImagesForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="MainForm.bg-BG.resx">
- <DependentUpon>MainForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="MainForm.ca-ES.resx">
- <DependentUpon>MainForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="MainForm.de-DE.resx">
- <DependentUpon>MainForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="MainForm.el-GR.resx">
- <DependentUpon>MainForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="MainForm.es-AR.resx">
- <DependentUpon>MainForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="MainForm.es-ES.resx">
- <DependentUpon>MainForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="MainForm.fr-FR.resx">
- <DependentUpon>MainForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="MainForm.it-IT.resx">
- <DependentUpon>MainForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="MainForm.nl.resx">
- <DependentUpon>MainForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="MainForm.pl-PL.resx">
- <DependentUpon>MainForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="MainForm.pt-PT.resx">
- <DependentUpon>MainForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="MainForm.resx">
- <DependentUpon>MainForm.cs</DependentUpon>
- <SubType>Designer</SubType>
- </EmbeddedResource>
- <EmbeddedResource Include="MainForm.ru-RU.resx">
- <DependentUpon>MainForm.cs</DependentUpon>
- <SubType>Designer</SubType>
- </EmbeddedResource>
- <EmbeddedResource Include="MainForm.sk-SK.resx">
- <DependentUpon>MainForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="MainForm.sv-SE.resx">
- <DependentUpon>MainForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="Properties\Resources.bg-BG.resx" />
- <EmbeddedResource Include="Properties\Resources.ca-ES.resx" />
- <EmbeddedResource Include="Properties\Resources.de-DE.resx" />
- <EmbeddedResource Include="Properties\Resources.el-GR.resx" />
- <EmbeddedResource Include="Properties\Resources.es-AR.resx" />
- <EmbeddedResource Include="Properties\Resources.es-ES.resx" />
- <EmbeddedResource Include="Properties\Resources.fr-FR.resx" />
- <EmbeddedResource Include="Properties\Resources.it-IT.resx" />
- <EmbeddedResource Include="Properties\Resources.nl.resx" />
- <EmbeddedResource Include="Properties\Resources.pt-PT.resx" />
- <EmbeddedResource Include="Properties\Resources.ru-RU.resx">
- <SubType>Designer</SubType>
- <LastGenOutput>Resources.ru-RU.Designer.cs</LastGenOutput>
- </EmbeddedResource>
- <EmbeddedResource Include="Properties\Resources.sk-SK.resx" />
- <EmbeddedResource Include="Properties\Resources.sv-SE.resx" />
- <EmbeddedResource Include="SaveStateManager.bg-BG.resx">
- <DependentUpon>SaveStateManager.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SaveStateManager.ca-ES.resx">
- <DependentUpon>SaveStateManager.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SaveStateManager.de-DE.resx">
- <DependentUpon>SaveStateManager.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SaveStateManager.el-GR.resx">
- <DependentUpon>SaveStateManager.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SaveStateManager.es-AR.resx">
- <DependentUpon>SaveStateManager.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SaveStateManager.es-ES.resx">
- <DependentUpon>SaveStateManager.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SaveStateManager.fr-FR.resx">
- <DependentUpon>SaveStateManager.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SaveStateManager.it-IT.resx">
- <DependentUpon>SaveStateManager.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SaveStateManager.nl.resx">
- <DependentUpon>SaveStateManager.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SaveStateManager.pl-PL.resx">
- <DependentUpon>SaveStateManager.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SaveStateManager.pt-PT.resx">
- <DependentUpon>SaveStateManager.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SaveStateManager.resx">
- <DependentUpon>SaveStateManager.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SaveStateManager.ru-RU.resx">
- <DependentUpon>SaveStateManager.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SaveStateManager.sk-SK.resx">
- <DependentUpon>SaveStateManager.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SaveStateManager.sv-SE.resx">
- <DependentUpon>SaveStateManager.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SearchForm.bg-BG.resx">
- <DependentUpon>SearchForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SearchForm.ca-ES.resx">
- <DependentUpon>SearchForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SearchForm.de-DE.resx">
- <DependentUpon>SearchForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SearchForm.el-GR.resx">
- <DependentUpon>SearchForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SearchForm.es-AR.resx">
- <DependentUpon>SearchForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SearchForm.es-ES.resx">
- <DependentUpon>SearchForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SearchForm.fr-FR.resx">
- <DependentUpon>SearchForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SearchForm.it-IT.resx">
- <DependentUpon>SearchForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SearchForm.nl.resx">
- <DependentUpon>SearchForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SearchForm.pt-PT.resx">
- <DependentUpon>SearchForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SearchForm.sk-SK.resx">
- <DependentUpon>SearchForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SearchForm.sv-SE.resx">
- <DependentUpon>SearchForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectButtonsForm.bg-BG.resx">
- <DependentUpon>SelectButtonsForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectButtonsForm.ca-ES.resx">
- <DependentUpon>SelectButtonsForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectButtonsForm.de-DE.resx">
- <DependentUpon>SelectButtonsForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectButtonsForm.el-GR.resx">
- <DependentUpon>SelectButtonsForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectButtonsForm.es-AR.resx">
- <DependentUpon>SelectButtonsForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectButtonsForm.es-ES.resx">
- <DependentUpon>SelectButtonsForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectButtonsForm.fr-FR.resx">
- <DependentUpon>SelectButtonsForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectButtonsForm.it-IT.resx">
- <DependentUpon>SelectButtonsForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectButtonsForm.nl.resx">
- <DependentUpon>SelectButtonsForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectButtonsForm.pt-PT.resx">
- <DependentUpon>SelectButtonsForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectButtonsForm.sk-SK.resx">
- <DependentUpon>SelectButtonsForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectButtonsForm.sv-SE.resx">
- <DependentUpon>SelectButtonsForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectFileForm.bg-BG.resx">
- <DependentUpon>SelectFileForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectFileForm.ca-ES.resx">
- <DependentUpon>SelectFileForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectFileForm.de-DE.resx">
- <DependentUpon>SelectFileForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectFileForm.el-GR.resx">
- <DependentUpon>SelectFileForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectFileForm.es-AR.resx">
- <DependentUpon>SelectFileForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectFileForm.es-ES.resx">
- <DependentUpon>SelectFileForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectFileForm.fr-FR.resx">
- <DependentUpon>SelectFileForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectFileForm.it-IT.resx">
- <DependentUpon>SelectFileForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectFileForm.nl.resx">
- <DependentUpon>SelectFileForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectFileForm.pt-PT.resx">
- <DependentUpon>SelectFileForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectFileForm.sk-SK.resx">
- <DependentUpon>SelectFileForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectFileForm.sv-SE.resx">
- <DependentUpon>SelectFileForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectIconForm.bg-BG.resx">
- <DependentUpon>SelectIconForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectIconForm.ca-ES.resx">
- <DependentUpon>SelectIconForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectIconForm.de-DE.resx">
- <DependentUpon>SelectIconForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectIconForm.el-GR.resx">
- <DependentUpon>SelectIconForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectIconForm.es-AR.resx">
- <DependentUpon>SelectIconForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectIconForm.es-ES.resx">
- <DependentUpon>SelectIconForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectIconForm.fr-FR.resx">
- <DependentUpon>SelectIconForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectIconForm.it-IT.resx">
- <DependentUpon>SelectIconForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectIconForm.nl.resx">
- <DependentUpon>SelectIconForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectIconForm.pt-PT.resx">
- <DependentUpon>SelectIconForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectIconForm.sk-SK.resx">
- <DependentUpon>SelectIconForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectIconForm.sv-SE.resx">
- <DependentUpon>SelectIconForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectModsForm.resx">
- <DependentUpon>SelectModsForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="Properties\Resources.pl-PL.resx">
- <SubType>Designer</SubType>
- </EmbeddedResource>
- <EmbeddedResource Include="Properties\Resources.resx">
- <SubType>Designer</SubType>
- <LastGenOutput>Resources1.Designer.cs</LastGenOutput>
- </EmbeddedResource>
- <EmbeddedResource Include="SearchForm.pl-PL.resx">
- <DependentUpon>SearchForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SearchForm.resx">
- <DependentUpon>SearchForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SearchForm.ru-RU.resx">
- <DependentUpon>SearchForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectButtonsForm.pl-PL.resx">
- <DependentUpon>SelectButtonsForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectButtonsForm.resx">
- <DependentUpon>SelectButtonsForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectButtonsForm.ru-RU.resx">
- <DependentUpon>SelectButtonsForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectFileForm.pl-PL.resx">
- <DependentUpon>SelectFileForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectIconForm.pl-PL.resx">
- <DependentUpon>SelectIconForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectIconForm.resx">
- <DependentUpon>SelectIconForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectFileForm.resx">
- <DependentUpon>SelectFileForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectFileForm.ru-RU.resx">
- <DependentUpon>SelectFileForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="SelectIconForm.ru-RU.resx">
- <DependentUpon>SelectIconForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="StringInputForm.resx">
- <DependentUpon>StringInputForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="FoldersManagerForm.pl-PL.resx">
- <DependentUpon>FoldersManagerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="FoldersManagerForm.resx">
- <DependentUpon>FoldersManagerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="FoldersManagerForm.ru-RU.resx">
- <DependentUpon>FoldersManagerForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingClovershellForm.bg-BG.resx">
- <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingClovershellForm.ca-ES.resx">
- <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingClovershellForm.de-DE.resx">
- <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingClovershellForm.el-GR.resx">
- <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingClovershellForm.es-AR.resx">
- <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingClovershellForm.es-ES.resx">
- <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingClovershellForm.fr-FR.resx">
- <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingClovershellForm.it-IT.resx">
- <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingClovershellForm.nl.resx">
- <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingClovershellForm.pl-PL.resx">
- <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingClovershellForm.pt-PT.resx">
- <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingClovershellForm.resx">
- <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingClovershellForm.ru-RU.resx">
- <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingClovershellForm.sk-SK.resx">
- <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingClovershellForm.sv-SE.resx">
- <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingFelForm.bg-BG.resx">
- <DependentUpon>WaitingFelForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingFelForm.ca-ES.resx">
- <DependentUpon>WaitingFelForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingFelForm.de-DE.resx">
- <DependentUpon>WaitingFelForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingFelForm.el-GR.resx">
- <DependentUpon>WaitingFelForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingFelForm.es-AR.resx">
- <DependentUpon>WaitingFelForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingFelForm.es-ES.resx">
- <DependentUpon>WaitingFelForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingFelForm.fr-FR.resx">
- <DependentUpon>WaitingFelForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingFelForm.it-IT.resx">
- <DependentUpon>WaitingFelForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingFelForm.nl.resx">
- <DependentUpon>WaitingFelForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingFelForm.pl-PL.resx">
- <DependentUpon>WaitingFelForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingFelForm.pt-PT.resx">
- <DependentUpon>WaitingFelForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingFelForm.resx">
- <DependentUpon>WaitingFelForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingFelForm.ru-RU.resx">
- <DependentUpon>WaitingFelForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingFelForm.sk-SK.resx">
- <DependentUpon>WaitingFelForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WaitingFelForm.sv-SE.resx">
- <DependentUpon>WaitingFelForm.cs</DependentUpon>
- </EmbeddedResource>
- <EmbeddedResource Include="WorkerForm.resx">
- <DependentUpon>WorkerForm.cs</DependentUpon>
- </EmbeddedResource>
- <Content Include="art\README.txt">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="data\fes1.bin">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="data\splash.gz">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="data\uboot.bin">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <EmbeddedResource Include="images\flags\ar.png" />
- <EmbeddedResource Include="images\flags\bg.png" />
- <EmbeddedResource Include="images\flags\de.png" />
- <EmbeddedResource Include="images\flags\es.png" />
- <EmbeddedResource Include="images\flags\fr.png" />
- <EmbeddedResource Include="images\flags\gr.png" />
- <EmbeddedResource Include="images\flags\it.png" />
- <EmbeddedResource Include="images\flags\nl.png" />
- <EmbeddedResource Include="images\flags\pl.png" />
- <EmbeddedResource Include="images\flags\pt.png" />
- <EmbeddedResource Include="images\flags\ru.png" />
- <EmbeddedResource Include="images\flags\se.png" />
- <EmbeddedResource Include="images\flags\sk.png" />
- <EmbeddedResource Include="images\flags\us.png" />
- <Content Include="LICENSE">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\hmods\clovercon.hmod">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\hmods\clovershell.hmod">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\hmods\copyleft.hmod">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\hmods\fontfix.hmod">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\bin\busybox">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\bin\rsync">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\hakchi\config">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\hakchi\init">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\hakchi\rootfs\bin\chmenu">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\hakchi\rootfs\bin\clover-kachikachi-wr">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\inittab">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\b0000_defines">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\b0010_functions">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\p0000_config">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\p7000_preinit">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\p7070_firmware">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\p7100_preinit">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\pa100_games">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\pffff_config">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\profile">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\hakchi\script\backup">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\hakchi\script\base">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\hakchi\script\games">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\hakchi\script\install">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\hakchi\script\package">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\hakchi\script\removed">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\hakchi\script\transfer">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_hakchi\sbin\init">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_uninstall\bin\busybox">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_uninstall\hakchi\init">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="mods\mod_uninstall\sbin\init">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="patches\1dac6208-Snow Bros. %28U%29 [!] - NES Mini patch.ips">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="patches\279710dc-Battletoads %28U%29 [bugfix].ips">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="patches\2caae01c-Felix the cat noDim hack %28for U [!] version%29.ips">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="patches\46fd7843-Splatter House - Wanpaku Graffiti %28J%29 [!] - MMC3 patch.ips">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="patches\4ec0fecc-Ufouria - The Saga %28E%29 [NTSC hack].ips">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="patches\61179bfa-Jungle Book %28no dim%29 .ips">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="patches\6dc28b5a-Bio Miracle Bokutte Upa - MMC5 patch.ips">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="patches\75b3eb37-Saiyuuki World 2 - MMC3 patch.ips">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="patches\8889c564-Immortal, The %28U%29 [!] %28bright hack%29.ips">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="patches\96087988-RoboCop 3 %28U%29 [!] - NES Mini patch.ips">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="patches\9ab274ae-Cheetahmen II - MMC1 patch.ips">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="patches\ac8dcdea-Cybernoid - The Fighting Machine %28U%29 [!] %28fix%29.ips">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="patches\ba51ac6f-Holy Diver %28J%29 - MMC1 patch.ips">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="patches\c4b6ed3c-Bill &amp; Ted%27s Excellent Video Game Adventure %28U%29 - NES Mini patch.ips">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="patches\ca033b3a-Dragon%27s Lair %28U%29 [!] %28no dim%29.ips">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="patches\d054ffb0-Startropics II - Zoda%27s Revenge %28U%29 [!] - MMC3 patch.ips">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="patches\f6898a59-James Bond Jr %28no dim%29.ips">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="user_mods\music_hack.hmod\install">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="user_mods\music_hack.hmod\pb223_music_hack">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="user_mods\music_hack.hmod\uninstall">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="user_mods\password.hmod\install">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="user_mods\password.hmod\password.raw.gz">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="user_mods\password.hmod\password_fail.raw.gz">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="user_mods\password.hmod\password_ok.raw.gz">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="user_mods\password.hmod\S810password">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="user_mods\password.hmod\uninstall">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="user_mods\remove_thumbnails.hmod\install">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="user_mods\remove_thumbnails.hmod\uninstall">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <None Include="cluster_cert.pfx" />
- <None Include="Properties\app.manifest" />
- </ItemGroup>
- <ItemGroup>
- <Content Include="data\GameGenieDB.xml">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="data\nescarts.xml">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="driver\nesmini_driver.exe">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\2600.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\2600jr.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\2600_darth_vader.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\32x_genesis2.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\32x_megadrive2.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\32x_megadrive2_jp.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\arcade.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_number.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_a.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_b.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_c.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_d.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_e.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_f.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_g.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_h.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_i.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_j.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_k.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_l.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_m.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_n.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_o.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_p.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_q.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_r.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_s.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_system_2600.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_system_32x.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_system_arcade.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_system_famicom.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_system_fds.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_system_gb.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_system_gba.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_system_gbc.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_system_genesis.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_system_gg.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_system_n64.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_system_neogeo.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_system_nes.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_system_nes_org.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_system_pce.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_system_sms.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_system_snes_eu_jp.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_system_snes_usa.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_t.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_u.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_v.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_w.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_x.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_y.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\folder_z.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\gamegear.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\gba.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\gbc_green.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\gbc_purple.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\gbc_red.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\gbc_turquoise.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\gbc_yellow.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\gb_dmg.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\gb_play_it_loud_black.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\gb_play_it_loud_blue.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\gb_play_it_loud_green.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\gb_play_it_loud_red.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\gb_play_it_loud_white.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\gb_play_it_loud_yellow.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\genesis2.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\megadrive2.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\megadrive2_jp.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\n64.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\neogeo.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\nes.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\pce.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\sms.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\snes_eu_jp.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\snes_usa.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <EmbeddedResource Include="images\2600_sm.png" />
- <EmbeddedResource Include="images\2600_sm_tr.png" />
- <EmbeddedResource Include="images\32x_sm.png" />
- <EmbeddedResource Include="images\32x_sm_tr.png" />
- <EmbeddedResource Include="images\app_sm.png" />
- <EmbeddedResource Include="images\app_sm_tr.png" />
- <EmbeddedResource Include="images\arcade_sm.png" />
- <EmbeddedResource Include="images\arcade_sm_tr.png" />
- <EmbeddedResource Include="images\blank_2600.png" />
- <EmbeddedResource Include="images\blank_32x.png" />
- <EmbeddedResource Include="images\blank_app.png" />
- <EmbeddedResource Include="images\blank_arcade.png" />
- <EmbeddedResource Include="images\blank_gb.png" />
- <EmbeddedResource Include="images\blank_gba.png" />
- <EmbeddedResource Include="images\blank_gbc.png" />
- <EmbeddedResource Include="images\blank_genesis.png" />
- <EmbeddedResource Include="images\blank_gg.png" />
- <EmbeddedResource Include="images\blank_n64.png" />
- <EmbeddedResource Include="images\blank_neogeo.png" />
- <EmbeddedResource Include="images\blank_nes.png" />
- <EmbeddedResource Include="images\blank_pce.png" />
- <EmbeddedResource Include="images\blank_sms.png" />
- <EmbeddedResource Include="images\blank_snes-eu-jp.png" />
- <EmbeddedResource Include="images\blank_snes-us.png" />
- <EmbeddedResource Include="images\gba_sm.png" />
- <EmbeddedResource Include="images\gba_sm_tr.png" />
- <EmbeddedResource Include="images\gbc_sm.png" />
- <EmbeddedResource Include="images\gbc_sm_tr.png" />
- <EmbeddedResource Include="images\gb_sm.png" />
- <EmbeddedResource Include="images\gb_sm_tr.png" />
- <EmbeddedResource Include="images\genesis_sm.png" />
- <EmbeddedResource Include="images\genesis_sm_tr.png" />
- <EmbeddedResource Include="images\gg_sm.png" />
- <EmbeddedResource Include="images\gg_sm_tr.png" />
- <EmbeddedResource Include="images\green.png" />
- <EmbeddedResource Include="images\n64_sm.png" />
- <EmbeddedResource Include="images\n64_sm_tr.png" />
- <EmbeddedResource Include="images\neogeo_sm.png" />
- <EmbeddedResource Include="images\neogeo_sm_tr.png" />
- <EmbeddedResource Include="images\nes_sm_tr.png" />
- <EmbeddedResource Include="images\famicom_sm.png" />
- <EmbeddedResource Include="images\famicom_sm_tr.png" />
- <EmbeddedResource Include="images\fds_sm.png" />
- <EmbeddedResource Include="images\fds_sm_tr.png" />
- <EmbeddedResource Include="images\folder_sm_tr.png" />
- <EmbeddedResource Include="images\original_sm_tr.png" />
- <EmbeddedResource Include="images\pce_sm.png" />
- <EmbeddedResource Include="images\pce_sm_tr.png" />
- <EmbeddedResource Include="images\red.png" />
- <EmbeddedResource Include="images\sms_sm.png" />
- <EmbeddedResource Include="images\sms_sm_tr.png" />
- <EmbeddedResource Include="images\snes-eu-jp_sm.png" />
- <EmbeddedResource Include="images\snes-eu-jp_sm_tr.png" />
- <EmbeddedResource Include="images\snes-us_sm.png" />
- <EmbeddedResource Include="images\snes-us_sm_tr.png" />
- <Content Include="user_mods\music_hack.hmod\music.wav">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="user_mods\music_hack.hmod\readme.txt">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="user_mods\password.hmod\readme.txt">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="user_mods\README.txt">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="user_mods\remove_thumbnails.hmod\readme.txt">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="folder_images\README.txt">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <None Include="icon.ico" />
- <Content Include="folder_images\folder_back.png">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <EmbeddedResource Include="images\blank_fds.png" />
- <EmbeddedResource Include="images\blank_jp.png" />
- <EmbeddedResource Include="images\nes_sm.png" />
- <EmbeddedResource Include="images\folder_sm.png" />
- <EmbeddedResource Include="images\gamepad.png" />
- <EmbeddedResource Include="images\original_sm.png" />
- <Content Include="patches\README.txt">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="tools\7z.dll">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="tools\7z64.dll">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="SevenZip\gpl.txt" />
- <Content Include="SevenZip\lgpl.txt" />
- <Content Include="tools\cpio.exe">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="tools\cyggcc_s-1.dll">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="tools\cygiconv-2.dll">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="tools\cygintl-8.dll">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="tools\cyglzo2-2.dll">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="tools\cygwin1.dll">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="tools\lzop.exe">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="tools\mkbootfs.exe">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="tools\mkbootimg.exe">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- <Content Include="tools\unpackbootimg.exe">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- </ItemGroup>
- <ItemGroup>
- <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
- <Install>false</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.5 SP1</ProductName>
- <Install>true</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Windows.Installer.4.5">
- <Visible>False</Visible>
- <ProductName>Windows Installer 4.5</ProductName>
- <Install>true</Install>
- </BootstrapperPackage>
- </ItemGroup>
- <ItemGroup>
- <PublishFile Include="data\GameGenieDB.xml">
- <Visible>False</Visible>
- <Group>
- </Group>
- <TargetPath>
- </TargetPath>
- <PublishState>Include</PublishState>
- <IncludeHash>True</IncludeHash>
- <FileType>File</FileType>
- </PublishFile>
- <PublishFile Include="data\nescarts.xml">
- <Visible>False</Visible>
- <Group>
- </Group>
- <TargetPath>
- </TargetPath>
- <PublishState>Include</PublishState>
- <IncludeHash>True</IncludeHash>
- <FileType>File</FileType>
- </PublishFile>
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <PropertyGroup>
- <PreBuildEvent>
- </PreBuildEvent>
- </PropertyGroup>
- <PropertyGroup>
- <PostBuildEvent>if exist languages rd /S /Q languages
-md languages
-for /D %25%25i in (*.*) do if exist %25%25i\hakchi.resources.dll move /Y %25%25i languages\%25%25i
-rem del *.application
-rem del *.manifest</PostBuildEvent>
- </PropertyGroup>
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{F1F983FD-A54F-4881-8394-5A4BA65EFD6B}</ProjectGuid>
+ <OutputType>WinExe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>com.clusterrr.hakchi_gui</RootNamespace>
+ <AssemblyName>hakchi</AssemblyName>
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <NoStdLib>False</NoStdLib>
+ <TreatWarningsAsErrors>False</TreatWarningsAsErrors>
+ <IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
+ <IsWebBootstrapper>true</IsWebBootstrapper>
+ <PublishUrl>ftp://clusterrr.com/www/www/soft/hakchi2/</PublishUrl>
+ <Install>true</Install>
+ <InstallFrom>Web</InstallFrom>
+ <UpdateEnabled>true</UpdateEnabled>
+ <UpdateMode>Background</UpdateMode>
+ <UpdateInterval>7</UpdateInterval>
+ <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+ <UpdatePeriodically>false</UpdatePeriodically>
+ <UpdateRequired>false</UpdateRequired>
+ <MapFileExtensions>false</MapFileExtensions>
+ <InstallUrl>http://clusterrr.com/soft/hakchi2/</InstallUrl>
+ <SupportUrl>http://clusterrr.com</SupportUrl>
+ <ProductName>hakchi2</ProductName>
+ <PublisherName>Alexey %27Cluster%27 Avdyukhin</PublisherName>
+ <CreateWebPageOnPublish>true</CreateWebPageOnPublish>
+ <WebPage>index.html</WebPage>
+ <ApplicationRevision>14</ApplicationRevision>
+ <ApplicationVersion>2.0.17.14</ApplicationVersion>
+ <UseApplicationTrust>false</UseApplicationTrust>
+ <CreateDesktopShortcut>true</CreateDesktopShortcut>
+ <PublishWizardCompleted>true</PublishWizardCompleted>
+ <BootstrapperEnabled>true</BootstrapperEnabled>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>Full</DebugType>
+ <Optimize>False</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>TRACE;DEBUG;LIBUSBDOTNET WINDOWS_TESTING</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <DebugType>none</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE;LIBUSBDOTNET WINDOWS_TESTING</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+ </PropertyGroup>
+ <PropertyGroup>
+ <ApplicationIcon>icon.ico</ApplicationIcon>
+ </PropertyGroup>
+ <PropertyGroup />
+ <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
+ <CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
+ <BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
+ <BaseAddress>4194304</BaseAddress>
+ <RegisterForComInterop>False</RegisterForComInterop>
+ <GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
+ </PropertyGroup>
+ <PropertyGroup />
+ <PropertyGroup />
+ <PropertyGroup />
+ <PropertyGroup />
+ <PropertyGroup />
+ <PropertyGroup>
+ <TargetZone>LocalIntranet</TargetZone>
+ </PropertyGroup>
+ <PropertyGroup>
+ <GenerateManifests>false</GenerateManifests>
+ </PropertyGroup>
+ <PropertyGroup>
+ <SignManifests>false</SignManifests>
+ </PropertyGroup>
+ <PropertyGroup>
+ <ManifestCertificateThumbprint>1D05715BF83320949FC1BAC8462308051A0C0F04</ManifestCertificateThumbprint>
+ </PropertyGroup>
+ <PropertyGroup>
+ <ManifestKeyFile>cluster_cert.pfx</ManifestKeyFile>
+ </PropertyGroup>
+ <PropertyGroup />
+ <PropertyGroup />
+ <PropertyGroup />
+ <PropertyGroup />
+ <PropertyGroup>
+ <NoWin32Manifest>true</NoWin32Manifest>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Management" />
+ <Reference Include="System.Web" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Deployment" />
+ <Reference Include="System.Drawing" />
+ <Reference Include="System.Windows.Forms" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="AboutBox.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="AboutBox.Designer.cs">
+ <DependentUpon>AboutBox.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Apps\AppTypeCollection.cs" />
+ <Compile Include="Apps\ArcadeGame.cs" />
+ <Compile Include="Apps\Atari2600Game.cs" />
+ <Compile Include="Apps\Sega32XGame.cs" />
+ <Compile Include="Apps\GenesisGame.cs" />
+ <Compile Include="Apps\PceGame.cs" />
+ <Compile Include="Apps\GbaGame.cs" />
+ <Compile Include="Apps\GbcGame.cs" />
+ <Compile Include="Apps\GbGame.cs" />
+ <Compile Include="Apps\N64Game.cs" />
+ <Compile Include="Apps\GameGearGame.cs" />
+ <Compile Include="Apps\SmsGame.cs" />
+ <Compile Include="Apps\SnesGame.cs" />
+ <Compile Include="Apps\NesUGame.cs" />
+ <Compile Include="Clovershell\ClovershellConnection.cs" />
+ <Compile Include="Clovershell\ClovershellException.cs" />
+ <Compile Include="Clovershell\ExecConnection.cs" />
+ <Compile Include="Clovershell\ShellConnection.cs" />
+ <Compile Include="ConfigIni.cs" />
+ <Compile Include="FileBrowserForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="FileBrowserForm.Designer.cs">
+ <DependentUpon>FileBrowserForm.cs</DependentUpon>
+ </Compile>
+ <Compile Include="FtpServer\NesMiniFileSystemHandler.cs" />
+ <Compile Include="FtpServer\NesMiniAuthHandler.cs" />
+ <Compile Include="FtpServer\DebugLogHandler.cs" />
+ <Compile Include="FtpServer\FileSystemHelper.cs" />
+ <Compile Include="FtpServer\IAuthHandler.cs" />
+ <Compile Include="FtpServer\IFileSystemHandler.cs" />
+ <Compile Include="FtpServer\ILogHandler.cs" />
+ <Compile Include="FtpServer\Server.cs" />
+ <Compile Include="FtpServer\Session.cs" />
+ <Compile Include="GameGenieCodeAddModForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="GameGenieCodeAddModForm.designer.cs">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </Compile>
+ <Compile Include="GameGenieCodeForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="GameGenieCodeForm.designer.cs">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </Compile>
+ <Compile Include="GameGenieDataBase.cs" />
+ <Compile Include="ImagesForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="ImagesForm.Designer.cs">
+ <DependentUpon>ImagesForm.cs</DependentUpon>
+ </Compile>
+ <Compile Include="LibWinUsb\Descriptors\ClassCodeType.cs" />
+ <Compile Include="LibWinUsb\Descriptors\DescriptorType.cs" />
+ <Compile Include="LibWinUsb\Descriptors\LangStringDescriptor.cs" />
+ <Compile Include="LibWinUsb\Descriptors\StringDescriptor.cs" />
+ <Compile Include="LibWinUsb\Descriptors\UsbConfigDescriptor.cs" />
+ <Compile Include="LibWinUsb\Descriptors\UsbDescriptor.cs" />
+ <Compile Include="LibWinUsb\Descriptors\UsbDeviceDescriptor.cs" />
+ <Compile Include="LibWinUsb\Descriptors\UsbEndpointDescriptor.cs" />
+ <Compile Include="LibWinUsb\Descriptors\UsbInterfaceDescriptor.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\DeviceNotifier.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\DeviceNotifyEventArgs.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\DeviceType.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\EventType.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\IDeviceNotifier.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Info\IPortNotifyInfo.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Info\IUsbDeviceNotifyInfo.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Info\IVolumeNotifyInfo.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Info\PortNotifyInfo.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Info\UsbDeviceNotifyInfo.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Info\VolumeNotifyInfo.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Internal\DevBroadcastDeviceinterface.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Internal\DevBroadcastHdr.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Internal\DevBroadcastPort.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Internal\DevBroadcastVolume.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Internal\DevNotifyNativeWindow.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Internal\SafeNotifyHandle.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxDeviceNotifier.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxDeviceNotifier.DeviceListPolling.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxDeviceNotifier.DevMonitor.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxDeviceNotifierMode.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxDeviceNotifyEventArgs.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxDevItem.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxDevItemList.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxUsbDeviceNotifyInfo.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\WindowsDeviceNotifier.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\WindowsDeviceNotifyEventArgs.cs" />
+ <Compile Include="LibWinUsb\Info\UsbBaseInfo.cs" />
+ <Compile Include="LibWinUsb\Info\UsbConfigInfo.cs" />
+ <Compile Include="LibWinUsb\Info\UsbDeviceInfo.cs" />
+ <Compile Include="LibWinUsb\Info\UsbEndpointInfo.cs" />
+ <Compile Include="LibWinUsb\Info\UsbInterfaceInfo.cs" />
+ <Compile Include="LibWinUsb\Internal\Kernel32.cs" />
+ <Compile Include="LibWinUsb\Internal\OverlappedTransferContext.cs" />
+ <Compile Include="LibWinUsb\Internal\SafeOverlapped.cs" />
+ <Compile Include="LibWinUsb\Internal\SetupApi.cs" />
+ <Compile Include="LibWinUsb\Internal\TransferContextBase.cs" />
+ <Compile Include="LibWinUsb\Internal\UsbApiBase.cs" />
+ <Compile Include="LibWinUsb\Internal\UsbRegex\BaseRegSymbolicName.cs" />
+ <Compile Include="LibWinUsb\Internal\UsbRegex\NamedGroup.cs" />
+ <Compile Include="LibWinUsb\Internal\UsbRegex\RegHardwareID.cs" />
+ <Compile Include="LibWinUsb\Internal\UsbRegex\RegSymbolicName.cs" />
+ <Compile Include="LibWinUsb\IUsbDevice.cs" />
+ <Compile Include="LibWinUsb\IUsbInterface.cs" />
+ <Compile Include="LibWinUsb\LibUsb\Internal\LibUsbAPI.cs" />
+ <Compile Include="LibWinUsb\LibUsb\Internal\LibUsbDriverIO.cs" />
+ <Compile Include="LibWinUsb\LibUsb\Internal\LibUsbDriverIO_IOControlMessage.cs" />
+ <Compile Include="LibWinUsb\LibUsb\Internal\LibUsbIoCtl.cs" />
+ <Compile Include="LibWinUsb\LibUsb\Internal\LibUsbRequest.cs" />
+ <Compile Include="LibWinUsb\LibUsb\LibUsbDevice.cs" />
+ <Compile Include="LibWinUsb\LibUsb\LibUsbDeviceRegistryKeyRequest.cs" />
+ <Compile Include="LibWinUsb\LibUsb\LibUsbKernelType.cs" />
+ <Compile Include="LibWinUsb\LibUsb\LibUsbRegistry.cs" />
+ <Compile Include="LibWinUsb\Main\ControlEpLockType.cs" />
+ <Compile Include="LibWinUsb\Main\DataEpLockType.cs" />
+ <Compile Include="LibWinUsb\Main\DataReceivedEnabledChangedEventArgs.cs" />
+ <Compile Include="LibWinUsb\Main\DeviceLockType.cs" />
+ <Compile Include="LibWinUsb\Main\DevicePropertyType.cs" />
+ <Compile Include="LibWinUsb\Main\EndpointDataEventArgs.cs" />
+ <Compile Include="LibWinUsb\Main\EndpointType.cs" />
+ <Compile Include="LibWinUsb\Main\ErrorCode.cs" />
+ <Compile Include="LibWinUsb\Main\Helper.cs" />
+ <Compile Include="LibWinUsb\Main\LegacyUsbRegistry.cs" />
+ <Compile Include="LibWinUsb\Main\ReadEndpointID.cs" />
+ <Compile Include="LibWinUsb\Main\SafeContextHandle.cs" />
+ <Compile Include="LibWinUsb\Main\SetupApiRegistry.cs" />
+ <Compile Include="LibWinUsb\Main\SPDRP.cs" />
+ <Compile Include="LibWinUsb\Main\UsbConstants.cs" />
+ <Compile Include="LibWinUsb\Main\UsbCtrlFlags.cs" />
+ <Compile Include="LibWinUsb\Main\UsbDeviceFinder.cs" />
+ <Compile Include="LibWinUsb\Main\UsbEndpointBase.cs" />
+ <Compile Include="LibWinUsb\Main\UsbEndpointDirection.cs" />
+ <Compile Include="LibWinUsb\Main\UsbEndpointList.cs" />
+ <Compile Include="LibWinUsb\Main\UsbException.cs" />
+ <Compile Include="LibWinUsb\Main\UsbKernelVersion.cs" />
+ <Compile Include="LibWinUsb\Main\UsbLockStyle.cs" />
+ <Compile Include="LibWinUsb\Main\UsbRegDeviceList.cs" />
+ <Compile Include="LibWinUsb\Main\UsbRegistry.cs" />
+ <Compile Include="LibWinUsb\Main\UsbRequestRecipient.cs" />
+ <Compile Include="LibWinUsb\Main\UsbRequestType.cs" />
+ <Compile Include="LibWinUsb\Main\UsbSetupPacket.cs" />
+ <Compile Include="LibWinUsb\Main\UsbStandardRequest.cs" />
+ <Compile Include="LibWinUsb\Main\UsbStatusClodes.cs" />
+ <Compile Include="LibWinUsb\Main\UsbStream.cs" />
+ <Compile Include="LibWinUsb\Main\UsbSymbolicName.cs" />
+ <Compile Include="LibWinUsb\Main\UsbTransfer.cs" />
+ <Compile Include="LibWinUsb\Main\WriteEndpointID.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\CallbackDelegates.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Descriptors\MonoUsbAltInterfaceDescriptor.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Descriptors\MonoUsbConfigDescriptor.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Descriptors\MonoUsbDeviceDescriptor.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Descriptors\MonoUsbEndpointDescriptor.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Descriptors\MonoUsbInterface.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\MonoLibUsbApi.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\MonoUsbDevice.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\MonoUsbDeviceHandle.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\MonoUsbEndpointReader.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\MonoUsbEndpointWriter.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\MonoUsbError.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\MonoUsbEventHandler.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\MonoUsbSessionHandle.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Profile\AddRemoveEventArgs.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Profile\AddRemoveType.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Profile\MonoUsbConfigHandle.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Profile\MonoUsbProfile.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Profile\MonoUsbProfileHandle.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Profile\MonoUsbProfileHandleEnumerator.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Profile\MonoUsbProfileList.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Profile\MonoUsbProfileListHandle.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Profile\PollfdItem.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Transfer\Internal\libusb_control_setup.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Transfer\Internal\libusb_iso_packet_descriptor.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Transfer\Internal\libusb_transfer.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Transfer\MonoUsbControlSetup.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Transfer\MonoUsbControlSetupHandle.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Transfer\MonoUsbIsoPacket.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Transfer\MonoUsbTansferStatus.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Transfer\MonoUsbTransfer.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Transfer\MonoUsbTransferContext.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Transfer\MonoUsbTransferFlags.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\UnixNativeTimeval.cs" />
+ <Compile Include="LibWinUsb\UsbDevice.Common.cs" />
+ <Compile Include="LibWinUsb\UsbDevice.cs" />
+ <Compile Include="LibWinUsb\UsbDevice.Error.cs" />
+ <Compile Include="LibWinUsb\UsbDevice.OS.Specific.cs" />
+ <Compile Include="LibWinUsb\UsbEndpointReader.cs" />
+ <Compile Include="LibWinUsb\UsbEndpointWriter.cs" />
+ <Compile Include="LibWinUsb\UsbGlobals.cs" />
+ <Compile Include="LibWinUsb\WinUsb\DeviceInformationTypes.cs" />
+ <Compile Include="LibWinUsb\WinUsb\DeviceSpeedTypes.cs" />
+ <Compile Include="LibWinUsb\WinUsb\Internal\SafeWinUsbInterfaceHandle.cs" />
+ <Compile Include="LibWinUsb\WinUsb\Internal\WinUsbAPI.cs" />
+ <Compile Include="LibWinUsb\WinUsb\PipeInformation.cs" />
+ <Compile Include="LibWinUsb\WinUsb\PipePolicies.cs" />
+ <Compile Include="LibWinUsb\WinUsb\PipePolicyType.cs" />
+ <Compile Include="LibWinUsb\WinUsb\PowerPolicies.cs" />
+ <Compile Include="LibWinUsb\WinUsb\PowerPolicyType.cs" />
+ <Compile Include="LibWinUsb\WinUsb\WinUsbDevice.cs" />
+ <Compile Include="LibWinUsb\WinUsb\WinUsbRegistry.cs" />
+ <Compile Include="Manager\GameManager.cs" />
+ <Compile Include="MessageBoxManager.cs" />
+ <Compile Include="Properties\Resources.Designer.cs" />
+ <Compile Include="SaveStateManager.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="SaveStateManager.Designer.cs">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </Compile>
+ <Compile Include="SelectModsForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="SelectModsForm.Designer.cs">
+ <DependentUpon>SelectModsForm.cs</DependentUpon>
+ </Compile>
+ <Compile Include="NesDefaultGame.cs" />
+ <Compile Include="FelLib\AWFELMessage.cs" />
+ <Compile Include="FelLib\AWFELStandardRequest.cs" />
+ <Compile Include="FelLib\AWFELStatusResponse.cs" />
+ <Compile Include="FelLib\AWFELVerifyDeviceResponse.cs" />
+ <Compile Include="FelLib\AWUSBRequest.cs" />
+ <Compile Include="FelLib\AWUSBResponse.cs" />
+ <Compile Include="FelLib\Fel.cs" />
+ <Compile Include="FelLib\FelException.cs" />
+ <Compile Include="FelLib\FelParseException.cs" />
+ <Compile Include="GameGeniePatcher.cs" />
+ <Compile Include="ImageGooglerForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="ImageGooglerForm.Designer.cs">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </Compile>
+ <Compile Include="INesMenuElement.cs" />
+ <Compile Include="IpsPatcher.cs" />
+ <Compile Include="MainForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="MainForm.Designer.cs">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Apps\FdsGame.cs" />
+ <Compile Include="NesMenuCollection.cs" />
+ <Compile Include="NesMenuFolder.cs" />
+ <Compile Include="NesFile.cs" />
+ <Compile Include="Apps\NesGame.cs" />
+ <Compile Include="Apps\NesMiniApplication.cs" />
+ <Compile Include="Program.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="SearchForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="SearchForm.Designer.cs">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </Compile>
+ <Compile Include="SelectButtonsForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="SelectButtonsForm.Designer.cs">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </Compile>
+ <Compile Include="SelectIconForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="SelectIconForm.Designer.cs">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </Compile>
+ <Compile Include="SelectFileForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="SelectFileForm.Designer.cs">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </Compile>
+ <Compile Include="SevenZip\ArchiveEmulationStreamProxy.cs" />
+ <Compile Include="SevenZip\ArchiveExtractCallback.cs" />
+ <Compile Include="SevenZip\ArchiveOpenCallback.cs" />
+ <Compile Include="SevenZip\ArchiveUpdateCallback.cs" />
+ <Compile Include="SevenZip\COM.cs" />
+ <Compile Include="SevenZip\Common.cs" />
+ <Compile Include="SevenZip\EventArgs.cs" />
+ <Compile Include="SevenZip\Exceptions.cs" />
+ <Compile Include="SevenZip\FileSignatureChecker.cs" />
+ <Compile Include="SevenZip\Formats.cs" />
+ <Compile Include="SevenZip\LibraryFeature.cs" />
+ <Compile Include="SevenZip\LibraryManager.cs" />
+ <Compile Include="SevenZip\LzmaDecodeStream.cs" />
+ <Compile Include="SevenZip\LzmaEncodeStream.cs" />
+ <Compile Include="SevenZip\LzmaProgressCallback.cs" />
+ <Compile Include="SevenZip\NativeMethods.cs" />
+ <Compile Include="SevenZip\sdk\Common\CRC.cs" />
+ <Compile Include="SevenZip\sdk\Common\InBuffer.cs" />
+ <Compile Include="SevenZip\sdk\Common\OutBuffer.cs" />
+ <Compile Include="SevenZip\sdk\Compress\LZMA\LzmaBase.cs" />
+ <Compile Include="SevenZip\sdk\Compress\LZMA\LzmaDecoder.cs" />
+ <Compile Include="SevenZip\sdk\Compress\LZMA\LzmaEncoder.cs" />
+ <Compile Include="SevenZip\sdk\Compress\LZ\IMatchFinder.cs" />
+ <Compile Include="SevenZip\sdk\Compress\LZ\LzBinTree.cs" />
+ <Compile Include="SevenZip\sdk\Compress\LZ\LzInWindow.cs" />
+ <Compile Include="SevenZip\sdk\Compress\LZ\LzOutWindow.cs" />
+ <Compile Include="SevenZip\sdk\Compress\RangeCoder\RangeCoder.cs" />
+ <Compile Include="SevenZip\sdk\Compress\RangeCoder\RangeCoderBit.cs" />
+ <Compile Include="SevenZip\sdk\Compress\RangeCoder\RangeCoderBitTree.cs" />
+ <Compile Include="SevenZip\sdk\ICoder.cs" />
+ <Compile Include="SevenZip\SevenZipCompressor.cs" />
+ <Compile Include="SevenZip\SevenZipCompressorAsynchronous.cs" />
+ <Compile Include="SevenZip\SevenZipExtractor.cs" />
+ <Compile Include="SevenZip\SevenZipExtractorAsynchronous.cs" />
+ <Compile Include="SevenZip\SevenZipSfx.cs" />
+ <Compile Include="SevenZip\StreamWrappers.cs" />
+ <Compile Include="StringInputForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="StringInputForm.Designer.cs">
+ <DependentUpon>StringInputForm.cs</DependentUpon>
+ </Compile>
+ <Compile Include="TarStream.cs" />
+ <Compile Include="TaskbarProgress.cs" />
+ <Compile Include="FoldersManagerForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="FoldersManagerForm.Designer.cs">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </Compile>
+ <Compile Include="UI\Components\GameSelecter.cs">
+ <SubType>UserControl</SubType>
+ </Compile>
+ <Compile Include="UI\Components\GameSelecter.Designer.cs">
+ <DependentUpon>GameSelecter.cs</DependentUpon>
+ </Compile>
+ <Compile Include="UnsupportedFourScreenException.cs" />
+ <Compile Include="UnsupportedMapperException.cs" />
+ <Compile Include="WaitingClovershellForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="WaitingClovershellForm.Designer.cs">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </Compile>
+ <Compile Include="WaitingFelForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="WaitingFelForm.Designer.cs">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </Compile>
+ <Compile Include="WorkerForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="WorkerForm.Designer.cs">
+ <DependentUpon>WorkerForm.cs</DependentUpon>
+ </Compile>
+ <EmbeddedResource Include="AboutBox.resx">
+ <DependentUpon>AboutBox.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FileBrowserForm.resx">
+ <DependentUpon>FileBrowserForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.bg-BG.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.ca-ES.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.de-De.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.el-GR.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.es-AR.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.es-ES.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.fr-FR.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.it-IT.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.nl.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.pt-PT.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.sk-SK.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.sv-SE.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.bg-BG.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.ca-ES.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.de-DE.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.el-GR.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.es-AR.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.es-ES.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.fr-FR.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.it-IT.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.nl.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.pl-PL.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.pt-PT.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.ru-RU.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.sk-SK.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.sv-SE.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.bg-BG.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.ca-ES.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.de-DE.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.el-GR.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.es-AR.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.es-ES.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.fr-FR.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.it-IT.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.nl.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.pl-PL.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.pt-PT.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.ru-RU.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.sk-SK.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.sv-SE.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.bg-BG.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.ca-ES.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.de-DE.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.el-GR.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.es-AR.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.es-ES.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.fr-FR.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.it-IT.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.nl.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.pl-PL.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.pt-PT.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.ru-RU.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.sk-SK.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.sv-SE.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImagesForm.resx">
+ <DependentUpon>ImagesForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.bg-BG.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.ca-ES.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.de-DE.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.el-GR.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.es-AR.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.es-ES.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.fr-FR.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.it-IT.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.nl.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.pl-PL.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.pt-PT.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.ru-RU.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.sk-SK.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.sv-SE.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="Properties\Resources.bg-BG.resx" />
+ <EmbeddedResource Include="Properties\Resources.ca-ES.resx" />
+ <EmbeddedResource Include="Properties\Resources.de-DE.resx" />
+ <EmbeddedResource Include="Properties\Resources.el-GR.resx" />
+ <EmbeddedResource Include="Properties\Resources.es-AR.resx" />
+ <EmbeddedResource Include="Properties\Resources.es-ES.resx" />
+ <EmbeddedResource Include="Properties\Resources.fr-FR.resx" />
+ <EmbeddedResource Include="Properties\Resources.it-IT.resx" />
+ <EmbeddedResource Include="Properties\Resources.nl.resx" />
+ <EmbeddedResource Include="Properties\Resources.pt-PT.resx" />
+ <EmbeddedResource Include="Properties\Resources.ru-RU.resx">
+ <SubType>Designer</SubType>
+ <LastGenOutput>Resources.ru-RU.Designer.cs</LastGenOutput>
+ </EmbeddedResource>
+ <EmbeddedResource Include="Properties\Resources.sk-SK.resx" />
+ <EmbeddedResource Include="Properties\Resources.sv-SE.resx" />
+ <EmbeddedResource Include="SaveStateManager.bg-BG.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.ca-ES.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.de-DE.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.el-GR.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.es-AR.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.es-ES.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.fr-FR.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.it-IT.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.nl.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.pl-PL.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.pt-PT.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.ru-RU.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.sk-SK.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.sv-SE.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.bg-BG.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.ca-ES.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.de-DE.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.el-GR.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.es-AR.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.es-ES.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.fr-FR.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.it-IT.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.nl.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.pt-PT.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.sk-SK.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.sv-SE.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.bg-BG.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.ca-ES.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.de-DE.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.el-GR.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.es-AR.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.es-ES.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.fr-FR.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.it-IT.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.nl.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.pt-PT.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.sk-SK.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.sv-SE.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.bg-BG.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.ca-ES.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.de-DE.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.el-GR.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.es-AR.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.es-ES.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.fr-FR.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.it-IT.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.nl.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.pt-PT.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.sk-SK.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.sv-SE.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.bg-BG.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.ca-ES.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.de-DE.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.el-GR.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.es-AR.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.es-ES.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.fr-FR.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.it-IT.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.nl.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.pt-PT.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.sk-SK.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.sv-SE.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectModsForm.resx">
+ <DependentUpon>SelectModsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="Properties\Resources.pl-PL.resx">
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
+ <EmbeddedResource Include="Properties\Resources.resx">
+ <SubType>Designer</SubType>
+ <LastGenOutput>Resources1.Designer.cs</LastGenOutput>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.pl-PL.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.ru-RU.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.pl-PL.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.ru-RU.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.pl-PL.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.pl-PL.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.ru-RU.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.ru-RU.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="StringInputForm.resx">
+ <DependentUpon>StringInputForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.pl-PL.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.ru-RU.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="UI\Components\GameSelecter.resx">
+ <DependentUpon>GameSelecter.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.bg-BG.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.ca-ES.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.de-DE.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.el-GR.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.es-AR.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.es-ES.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.fr-FR.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.it-IT.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.nl.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.pl-PL.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.pt-PT.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.ru-RU.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.sk-SK.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.sv-SE.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.bg-BG.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.ca-ES.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.de-DE.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.el-GR.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.es-AR.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.es-ES.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.fr-FR.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.it-IT.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.nl.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.pl-PL.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.pt-PT.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.ru-RU.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.sk-SK.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.sv-SE.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WorkerForm.resx">
+ <DependentUpon>WorkerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <Content Include="art\README.txt">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="data\fes1.bin">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="data\splash.gz">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="data\uboot.bin">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <EmbeddedResource Include="images\flags\ar.png" />
+ <EmbeddedResource Include="images\flags\bg.png" />
+ <EmbeddedResource Include="images\flags\de.png" />
+ <EmbeddedResource Include="images\flags\es.png" />
+ <EmbeddedResource Include="images\flags\fr.png" />
+ <EmbeddedResource Include="images\flags\gr.png" />
+ <EmbeddedResource Include="images\flags\it.png" />
+ <EmbeddedResource Include="images\flags\nl.png" />
+ <EmbeddedResource Include="images\flags\pl.png" />
+ <EmbeddedResource Include="images\flags\pt.png" />
+ <EmbeddedResource Include="images\flags\ru.png" />
+ <EmbeddedResource Include="images\flags\se.png" />
+ <EmbeddedResource Include="images\flags\sk.png" />
+ <EmbeddedResource Include="images\flags\us.png" />
+ <Content Include="LICENSE">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\hmods\clovercon.hmod">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\hmods\clovershell.hmod">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\hmods\copyleft.hmod">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\hmods\fontfix.hmod">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\bin\busybox">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\bin\rsync">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\config">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\init">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\bin\chmenu">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\bin\clover-kachikachi-wr">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\inittab">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\b0000_defines">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\b0010_functions">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\p0000_config">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\p7000_preinit">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\p7070_firmware">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\p7100_preinit">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\pa100_games">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\pffff_config">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\profile">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\script\backup">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\script\base">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\script\games">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\script\install">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\script\package">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\script\removed">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\script\transfer">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_hakchi\sbin\init">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_uninstall\bin\busybox">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_uninstall\hakchi\init">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="mods\mod_uninstall\sbin\init">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\1dac6208-Snow Bros. %28U%29 [!] - NES Mini patch.ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\279710dc-Battletoads %28U%29 [bugfix].ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\2caae01c-Felix the cat noDim hack %28for U [!] version%29.ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\46fd7843-Splatter House - Wanpaku Graffiti %28J%29 [!] - MMC3 patch.ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\4ec0fecc-Ufouria - The Saga %28E%29 [NTSC hack].ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\61179bfa-Jungle Book %28no dim%29 .ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\6dc28b5a-Bio Miracle Bokutte Upa - MMC5 patch.ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\75b3eb37-Saiyuuki World 2 - MMC3 patch.ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\8889c564-Immortal, The %28U%29 [!] %28bright hack%29.ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\96087988-RoboCop 3 %28U%29 [!] - NES Mini patch.ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\9ab274ae-Cheetahmen II - MMC1 patch.ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\ac8dcdea-Cybernoid - The Fighting Machine %28U%29 [!] %28fix%29.ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\ba51ac6f-Holy Diver %28J%29 - MMC1 patch.ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\c4b6ed3c-Bill &amp; Ted%27s Excellent Video Game Adventure %28U%29 - NES Mini patch.ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\ca033b3a-Dragon%27s Lair %28U%29 [!] %28no dim%29.ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\d054ffb0-Startropics II - Zoda%27s Revenge %28U%29 [!] - MMC3 patch.ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\f6898a59-James Bond Jr %28no dim%29.ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="user_mods\music_hack.hmod\install">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="user_mods\music_hack.hmod\pb223_music_hack">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="user_mods\music_hack.hmod\uninstall">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="user_mods\password.hmod\install">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="user_mods\password.hmod\password.raw.gz">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="user_mods\password.hmod\password_fail.raw.gz">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="user_mods\password.hmod\password_ok.raw.gz">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="user_mods\password.hmod\S810password">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="user_mods\password.hmod\uninstall">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="user_mods\remove_thumbnails.hmod\install">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="user_mods\remove_thumbnails.hmod\uninstall">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <None Include="cluster_cert.pfx" />
+ <None Include="Properties\app.manifest" />
+ </ItemGroup>
+ <ItemGroup>
+ <Content Include="data\GameGenieDB.xml">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="data\nescarts.xml">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="driver\nesmini_driver.exe">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\2600.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\2600jr.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\2600_darth_vader.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\32x_genesis2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\32x_megadrive2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\32x_megadrive2_jp.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\arcade.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_number.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_a.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_b.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_c.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_d.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_e.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_f.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_g.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_h.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_i.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_j.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_k.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_l.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_m.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_n.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_o.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_p.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_q.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_r.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_s.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_system_2600.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_system_32x.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_system_arcade.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_system_famicom.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_system_fds.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_system_gb.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_system_gba.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_system_gbc.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_system_genesis.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_system_gg.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_system_n64.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_system_neogeo.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_system_nes.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_system_nes_org.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_system_pce.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_system_sms.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_system_snes_eu_jp.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_system_snes_usa.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_t.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_u.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_v.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_w.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_x.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_y.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_z.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gamegear.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gba.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gbc_green.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gbc_purple.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gbc_red.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gbc_turquoise.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gbc_yellow.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gb_dmg.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gb_play_it_loud_black.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gb_play_it_loud_blue.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gb_play_it_loud_green.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gb_play_it_loud_red.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gb_play_it_loud_white.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gb_play_it_loud_yellow.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\genesis2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\megadrive2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\megadrive2_jp.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\n64.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\neogeo.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\nes.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\pce.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\sms.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\snes_eu_jp.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\snes_usa.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <EmbeddedResource Include="images\2600_sm.png" />
+ <EmbeddedResource Include="images\2600_sm_tr.png" />
+ <EmbeddedResource Include="images\32x_sm.png" />
+ <EmbeddedResource Include="images\32x_sm_tr.png" />
+ <EmbeddedResource Include="images\app_sm.png" />
+ <EmbeddedResource Include="images\app_sm_tr.png" />
+ <EmbeddedResource Include="images\arcade_sm.png" />
+ <EmbeddedResource Include="images\arcade_sm_tr.png" />
+ <EmbeddedResource Include="images\blank_2600.png" />
+ <EmbeddedResource Include="images\blank_32x.png" />
+ <EmbeddedResource Include="images\blank_app.png" />
+ <EmbeddedResource Include="images\blank_arcade.png" />
+ <EmbeddedResource Include="images\blank_gb.png" />
+ <EmbeddedResource Include="images\blank_gba.png" />
+ <EmbeddedResource Include="images\blank_gbc.png" />
+ <EmbeddedResource Include="images\blank_genesis.png" />
+ <EmbeddedResource Include="images\blank_gg.png" />
+ <EmbeddedResource Include="images\blank_n64.png" />
+ <EmbeddedResource Include="images\blank_neogeo.png" />
+ <EmbeddedResource Include="images\blank_nes.png" />
+ <EmbeddedResource Include="images\blank_pce.png" />
+ <EmbeddedResource Include="images\blank_sms.png" />
+ <EmbeddedResource Include="images\blank_snes-eu-jp.png" />
+ <EmbeddedResource Include="images\blank_snes-us.png" />
+ <EmbeddedResource Include="images\gba_sm.png" />
+ <EmbeddedResource Include="images\gba_sm_tr.png" />
+ <EmbeddedResource Include="images\gbc_sm.png" />
+ <EmbeddedResource Include="images\gbc_sm_tr.png" />
+ <EmbeddedResource Include="images\gb_sm.png" />
+ <EmbeddedResource Include="images\gb_sm_tr.png" />
+ <EmbeddedResource Include="images\genesis_sm.png" />
+ <EmbeddedResource Include="images\genesis_sm_tr.png" />
+ <EmbeddedResource Include="images\gg_sm.png" />
+ <EmbeddedResource Include="images\gg_sm_tr.png" />
+ <EmbeddedResource Include="images\green.png" />
+ <EmbeddedResource Include="images\n64_sm.png" />
+ <EmbeddedResource Include="images\n64_sm_tr.png" />
+ <EmbeddedResource Include="images\neogeo_sm.png" />
+ <EmbeddedResource Include="images\neogeo_sm_tr.png" />
+ <EmbeddedResource Include="images\nes_sm_tr.png" />
+ <EmbeddedResource Include="images\famicom_sm.png" />
+ <EmbeddedResource Include="images\famicom_sm_tr.png" />
+ <EmbeddedResource Include="images\fds_sm.png" />
+ <EmbeddedResource Include="images\fds_sm_tr.png" />
+ <EmbeddedResource Include="images\folder_sm_tr.png" />
+ <EmbeddedResource Include="images\original_sm_tr.png" />
+ <EmbeddedResource Include="images\pce_sm.png" />
+ <EmbeddedResource Include="images\pce_sm_tr.png" />
+ <EmbeddedResource Include="images\red.png" />
+ <EmbeddedResource Include="images\sms_sm.png" />
+ <EmbeddedResource Include="images\sms_sm_tr.png" />
+ <EmbeddedResource Include="images\snes-eu-jp_sm.png" />
+ <EmbeddedResource Include="images\snes-eu-jp_sm_tr.png" />
+ <EmbeddedResource Include="images\snes-us_sm.png" />
+ <EmbeddedResource Include="images\snes-us_sm_tr.png" />
+ <Content Include="user_mods\music_hack.hmod\music.wav">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="user_mods\music_hack.hmod\readme.txt">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="user_mods\password.hmod\readme.txt">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="user_mods\README.txt">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="user_mods\remove_thumbnails.hmod\readme.txt">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\README.txt">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <None Include="icon.ico" />
+ <Content Include="folder_images\folder_back.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <EmbeddedResource Include="images\blank_fds.png" />
+ <EmbeddedResource Include="images\blank_jp.png" />
+ <EmbeddedResource Include="images\nes_sm.png" />
+ <EmbeddedResource Include="images\folder_sm.png" />
+ <EmbeddedResource Include="images\gamepad.png" />
+ <EmbeddedResource Include="images\original_sm.png" />
+ <Content Include="patches\README.txt">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="tools\7z.dll">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="tools\7z64.dll">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="SevenZip\gpl.txt" />
+ <Content Include="SevenZip\lgpl.txt" />
+ <Content Include="tools\cpio.exe">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="tools\cyggcc_s-1.dll">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="tools\cygiconv-2.dll">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="tools\cygintl-8.dll">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="tools\cyglzo2-2.dll">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="tools\cygwin1.dll">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="tools\lzop.exe">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="tools\mkbootfs.exe">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="tools\mkbootimg.exe">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="tools\unpackbootimg.exe">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ </ItemGroup>
+ <ItemGroup>
+ <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+ <Visible>False</Visible>
+ <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+ <Install>false</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+ <Visible>False</Visible>
+ <ProductName>.NET Framework 3.5 SP1</ProductName>
+ <Install>true</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Windows.Installer.4.5">
+ <Visible>False</Visible>
+ <ProductName>Windows Installer 4.5</ProductName>
+ <Install>true</Install>
+ </BootstrapperPackage>
+ </ItemGroup>
+ <ItemGroup>
+ <PublishFile Include="data\GameGenieDB.xml">
+ <Visible>False</Visible>
+ <PublishState>Include</PublishState>
+ <IncludeHash>True</IncludeHash>
+ <Group>
+ </Group>
+ <TargetPath>
+ </TargetPath>
+ <FileType>File</FileType>
+ </PublishFile>
+ <PublishFile Include="data\nescarts.xml">
+ <Visible>False</Visible>
+ <PublishState>Include</PublishState>
+ <IncludeHash>True</IncludeHash>
+ <Group>
+ </Group>
+ <TargetPath>
+ </TargetPath>
+ <FileType>File</FileType>
+ </PublishFile>
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+ <PropertyGroup>
+ <PreBuildEvent>
+ </PreBuildEvent>
+ </PropertyGroup>
+ <PropertyGroup>
+ <PostBuildEvent>if exist languages rd /S /Q languages
+md languages
+for /D %25%25i in (*.*) do if exist %25%25i\hakchi.resources.dll move /Y %25%25i languages\%25%25i
+rem del *.application
+rem del *.manifest</PostBuildEvent>
+ </PropertyGroup>
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
</Project> \ No newline at end of file