Projektdateien hinzufügen.
25
Mk0.Software.OnlineUpdater.sln
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Version 16
|
||||||
|
VisualStudioVersion = 16.0.29613.14
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mk0.Software.OnlineUpdater", "Mk0.Software.OnlineUpdater\Mk0.Software.OnlineUpdater.csproj", "{F59DCD1B-931C-4A49-9D55-DEAA229218F6}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{F59DCD1B-931C-4A49-9D55-DEAA229218F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{F59DCD1B-931C-4A49-9D55-DEAA229218F6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{F59DCD1B-931C-4A49-9D55-DEAA229218F6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{F59DCD1B-931C-4A49-9D55-DEAA229218F6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {46EFBFE7-956E-4236-AEB1-200F0C7AE661}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
6
Mk0.Software.OnlineUpdater/App.config
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<configuration>
|
||||||
|
<startup>
|
||||||
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
|
||||||
|
</startup>
|
||||||
|
</configuration>
|
88
Mk0.Software.OnlineUpdater/DownloadUpdateDialog.Designer.cs
generated
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
namespace Mk0.Software.OnlineUpdater
|
||||||
|
{
|
||||||
|
partial class DownloadUpdateDialog
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DownloadUpdateDialog));
|
||||||
|
this.pictureBoxIcon = new System.Windows.Forms.PictureBox();
|
||||||
|
this.progressBar = new System.Windows.Forms.ProgressBar();
|
||||||
|
this.labelInformation = new System.Windows.Forms.Label();
|
||||||
|
this.labelSize = new System.Windows.Forms.Label();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.pictureBoxIcon)).BeginInit();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// pictureBoxIcon
|
||||||
|
//
|
||||||
|
this.pictureBoxIcon.Image = Properties.Resources.download_32;
|
||||||
|
resources.ApplyResources(this.pictureBoxIcon, "pictureBoxIcon");
|
||||||
|
this.pictureBoxIcon.Name = "pictureBoxIcon";
|
||||||
|
this.pictureBoxIcon.TabStop = false;
|
||||||
|
//
|
||||||
|
// progressBar
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.progressBar, "progressBar");
|
||||||
|
this.progressBar.Name = "progressBar";
|
||||||
|
//
|
||||||
|
// labelInformation
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labelInformation, "labelInformation");
|
||||||
|
this.labelInformation.Name = "labelInformation";
|
||||||
|
//
|
||||||
|
// labelSize
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labelSize, "labelSize");
|
||||||
|
this.labelSize.Name = "labelSize";
|
||||||
|
//
|
||||||
|
// DownloadUpdateDialog
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this, "$this");
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.Controls.Add(this.labelSize);
|
||||||
|
this.Controls.Add(this.labelInformation);
|
||||||
|
this.Controls.Add(this.progressBar);
|
||||||
|
this.Controls.Add(this.pictureBoxIcon);
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||||
|
this.MaximizeBox = false;
|
||||||
|
this.MinimizeBox = false;
|
||||||
|
this.Name = "DownloadUpdateDialog";
|
||||||
|
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.DownloadUpdateDialog_FormClosing);
|
||||||
|
this.Load += new System.EventHandler(this.DownloadUpdateDialogLoad);
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.pictureBoxIcon)).EndInit();
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.PictureBox pictureBoxIcon;
|
||||||
|
private System.Windows.Forms.ProgressBar progressBar;
|
||||||
|
private System.Windows.Forms.Label labelInformation;
|
||||||
|
private System.Windows.Forms.Label labelSize;
|
||||||
|
}
|
||||||
|
}
|
324
Mk0.Software.OnlineUpdater/DownloadUpdateDialog.cs
Normal file
@ -0,0 +1,324 @@
|
|||||||
|
using System;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Globalization;
|
||||||
|
using System.IO;
|
||||||
|
using System.Net;
|
||||||
|
using System.Net.Cache;
|
||||||
|
using System.Net.Mime;
|
||||||
|
using System.Security.Cryptography;
|
||||||
|
using System.Text;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using Mk0.Software.OnlineUpdater.Properties;
|
||||||
|
|
||||||
|
namespace Mk0.Software.OnlineUpdater
|
||||||
|
{
|
||||||
|
internal partial class DownloadUpdateDialog : Form
|
||||||
|
{
|
||||||
|
private readonly string _downloadURL;
|
||||||
|
|
||||||
|
private string _tempFile;
|
||||||
|
|
||||||
|
private MyWebClient _webClient;
|
||||||
|
|
||||||
|
private DateTime _startedAt;
|
||||||
|
|
||||||
|
public DownloadUpdateDialog(string downloadURL)
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
|
||||||
|
_downloadURL = downloadURL;
|
||||||
|
|
||||||
|
if (AutoUpdater.Mandatory && AutoUpdater.UpdateMode == Mode.ForcedDownload)
|
||||||
|
{
|
||||||
|
ControlBox = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DownloadUpdateDialogLoad(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var uri = new Uri(_downloadURL);
|
||||||
|
|
||||||
|
if (uri.Scheme.Equals(Uri.UriSchemeFtp))
|
||||||
|
{
|
||||||
|
_webClient = new MyWebClient { Credentials = AutoUpdater.FtpCredentials };
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_webClient = new MyWebClient();
|
||||||
|
|
||||||
|
if (uri.Scheme.Equals(Uri.UriSchemeHttp) || uri.Scheme.Equals(Uri.UriSchemeHttps))
|
||||||
|
{
|
||||||
|
if (AutoUpdater.BasicAuthDownload != null)
|
||||||
|
{
|
||||||
|
_webClient.Headers[HttpRequestHeader.Authorization] = AutoUpdater.BasicAuthDownload.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
_webClient.Headers[HttpRequestHeader.UserAgent] = AutoUpdater.GetUserAgent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_webClient.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore);
|
||||||
|
|
||||||
|
if (AutoUpdater.Proxy != null)
|
||||||
|
{
|
||||||
|
_webClient.Proxy = AutoUpdater.Proxy;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (string.IsNullOrEmpty(AutoUpdater.DownloadPath))
|
||||||
|
{
|
||||||
|
_tempFile = Path.GetTempFileName();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_tempFile = Path.Combine(AutoUpdater.DownloadPath, $"{Guid.NewGuid().ToString()}.tmp");
|
||||||
|
if (!Directory.Exists(AutoUpdater.DownloadPath))
|
||||||
|
{
|
||||||
|
Directory.CreateDirectory(AutoUpdater.DownloadPath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_webClient.DownloadProgressChanged += OnDownloadProgressChanged;
|
||||||
|
|
||||||
|
_webClient.DownloadFileCompleted += WebClientOnDownloadFileCompleted;
|
||||||
|
|
||||||
|
_webClient.DownloadFileAsync(uri, _tempFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
|
||||||
|
{
|
||||||
|
if (_startedAt == default(DateTime))
|
||||||
|
{
|
||||||
|
_startedAt = DateTime.Now;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var timeSpan = DateTime.Now - _startedAt;
|
||||||
|
long totalSeconds = (long)timeSpan.TotalSeconds;
|
||||||
|
if (totalSeconds > 0)
|
||||||
|
{
|
||||||
|
var bytesPerSecond = e.BytesReceived / totalSeconds;
|
||||||
|
labelInformation.Text =
|
||||||
|
string.Format(Resources.DownloadSpeedMessage, BytesToString(bytesPerSecond));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
labelSize.Text = $@"{BytesToString(e.BytesReceived)} / {BytesToString(e.TotalBytesToReceive)}";
|
||||||
|
progressBar.Value = e.ProgressPercentage;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void WebClientOnDownloadFileCompleted(object sender, AsyncCompletedEventArgs asyncCompletedEventArgs)
|
||||||
|
{
|
||||||
|
if (asyncCompletedEventArgs.Cancelled)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (asyncCompletedEventArgs.Error != null)
|
||||||
|
{
|
||||||
|
MessageBox.Show(asyncCompletedEventArgs.Error.Message,
|
||||||
|
asyncCompletedEventArgs.Error.GetType().ToString(), MessageBoxButtons.OK,
|
||||||
|
MessageBoxIcon.Error);
|
||||||
|
_webClient = null;
|
||||||
|
Close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(AutoUpdater.Checksum))
|
||||||
|
{
|
||||||
|
if (!CompareChecksum(_tempFile, AutoUpdater.Checksum))
|
||||||
|
{
|
||||||
|
_webClient = null;
|
||||||
|
Close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ContentDisposition contentDisposition = null;
|
||||||
|
if (_webClient.ResponseHeaders["Content-Disposition"] != null)
|
||||||
|
{
|
||||||
|
contentDisposition = new ContentDisposition(_webClient.ResponseHeaders["Content-Disposition"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
var fileName = string.IsNullOrEmpty(contentDisposition?.FileName)
|
||||||
|
? Path.GetFileName(_webClient.ResponseUri.LocalPath)
|
||||||
|
: contentDisposition.FileName;
|
||||||
|
|
||||||
|
var tempPath =
|
||||||
|
Path.Combine(
|
||||||
|
string.IsNullOrEmpty(AutoUpdater.DownloadPath) ? Path.GetTempPath() : AutoUpdater.DownloadPath,
|
||||||
|
fileName);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (File.Exists(tempPath))
|
||||||
|
{
|
||||||
|
File.Delete(tempPath);
|
||||||
|
}
|
||||||
|
|
||||||
|
File.Move(_tempFile, tempPath);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
MessageBox.Show(e.Message, e.GetType().ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
|
_webClient = null;
|
||||||
|
Close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
AutoUpdater.InstallerArgs = AutoUpdater.InstallerArgs.Replace("%path%",
|
||||||
|
Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName));
|
||||||
|
|
||||||
|
var processStartInfo = new ProcessStartInfo
|
||||||
|
{
|
||||||
|
FileName = tempPath,
|
||||||
|
UseShellExecute = true,
|
||||||
|
Arguments = AutoUpdater.InstallerArgs
|
||||||
|
};
|
||||||
|
|
||||||
|
var extension = Path.GetExtension(tempPath);
|
||||||
|
if (extension.Equals(".zip", StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
string installerPath = Path.Combine(Path.GetDirectoryName(tempPath), "ZipExtractor.exe");
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
File.WriteAllBytes(installerPath, Resources.Unzipper);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
MessageBox.Show(e.Message, e.GetType().ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
|
_webClient = null;
|
||||||
|
Close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
StringBuilder arguments =
|
||||||
|
new StringBuilder($"\"{tempPath}\" \"{Process.GetCurrentProcess().MainModule.FileName}\"");
|
||||||
|
string[] args = Environment.GetCommandLineArgs();
|
||||||
|
for (int i = 1; i < args.Length; i++)
|
||||||
|
{
|
||||||
|
if (i.Equals(1))
|
||||||
|
{
|
||||||
|
arguments.Append(" \"");
|
||||||
|
}
|
||||||
|
|
||||||
|
arguments.Append(args[i]);
|
||||||
|
arguments.Append(i.Equals(args.Length - 1) ? "\"" : " ");
|
||||||
|
}
|
||||||
|
|
||||||
|
processStartInfo = new ProcessStartInfo
|
||||||
|
{
|
||||||
|
FileName = installerPath,
|
||||||
|
UseShellExecute = true,
|
||||||
|
Arguments = arguments.ToString()
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else if (extension.Equals(".msi", StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
processStartInfo = new ProcessStartInfo
|
||||||
|
{
|
||||||
|
FileName = "msiexec",
|
||||||
|
Arguments = $"/i \"{tempPath}\""
|
||||||
|
};
|
||||||
|
if (!string.IsNullOrEmpty(AutoUpdater.InstallerArgs))
|
||||||
|
{
|
||||||
|
processStartInfo.Arguments += " " + AutoUpdater.InstallerArgs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (AutoUpdater.RunUpdateAsAdmin)
|
||||||
|
{
|
||||||
|
processStartInfo.Verb = "runas";
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Process.Start(processStartInfo);
|
||||||
|
}
|
||||||
|
catch (Win32Exception exception)
|
||||||
|
{
|
||||||
|
_webClient = null;
|
||||||
|
if (exception.NativeErrorCode != 1223)
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
|
||||||
|
Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String BytesToString(long byteCount)
|
||||||
|
{
|
||||||
|
string[] suf = { "B", "KB", "MB", "GB", "TB", "PB", "EB" };
|
||||||
|
if (byteCount == 0)
|
||||||
|
return "0" + suf[0];
|
||||||
|
long bytes = Math.Abs(byteCount);
|
||||||
|
int place = Convert.ToInt32(Math.Floor(Math.Log(bytes, 1024)));
|
||||||
|
double num = Math.Round(bytes / Math.Pow(1024, place), 1);
|
||||||
|
return $"{(Math.Sign(byteCount) * num).ToString(CultureInfo.InvariantCulture)} {suf[place]}";
|
||||||
|
}
|
||||||
|
|
||||||
|
private static bool CompareChecksum(string fileName, string checksum)
|
||||||
|
{
|
||||||
|
using (var hashAlgorithm = HashAlgorithm.Create(AutoUpdater.HashingAlgorithm))
|
||||||
|
{
|
||||||
|
using (var stream = File.OpenRead(fileName))
|
||||||
|
{
|
||||||
|
if (hashAlgorithm != null)
|
||||||
|
{
|
||||||
|
var hash = hashAlgorithm.ComputeHash(stream);
|
||||||
|
var fileChecksum = BitConverter.ToString(hash).Replace("-", String.Empty).ToLowerInvariant();
|
||||||
|
|
||||||
|
if (fileChecksum == checksum.ToLower()) return true;
|
||||||
|
|
||||||
|
MessageBox.Show(Resources.FileIntegrityCheckFailedMessage,
|
||||||
|
Resources.FileIntegrityCheckFailedCaption, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (AutoUpdater.ReportErrors)
|
||||||
|
{
|
||||||
|
MessageBox.Show(Resources.HashAlgorithmNotSupportedMessage,
|
||||||
|
Resources.HashAlgorithmNotSupportedCaption, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DownloadUpdateDialog_FormClosing(object sender, FormClosingEventArgs e)
|
||||||
|
{
|
||||||
|
if (_webClient == null)
|
||||||
|
{
|
||||||
|
DialogResult = DialogResult.Cancel;
|
||||||
|
}
|
||||||
|
else if (_webClient.IsBusy)
|
||||||
|
{
|
||||||
|
_webClient.CancelAsync();
|
||||||
|
DialogResult = DialogResult.Cancel;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DialogResult = DialogResult.OK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
public class MyWebClient : WebClient
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Response Uri after any redirects.
|
||||||
|
/// </summary>
|
||||||
|
public Uri ResponseUri;
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override WebResponse GetWebResponse(WebRequest request, IAsyncResult result)
|
||||||
|
{
|
||||||
|
WebResponse webResponse = base.GetWebResponse(request, result);
|
||||||
|
ResponseUri = webResponse.ResponseUri;
|
||||||
|
return webResponse;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
799
Mk0.Software.OnlineUpdater/DownloadUpdateDialog.resx
Normal file
@ -0,0 +1,799 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
|
<data name="pictureBoxIcon.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>14, 14</value>
|
||||||
|
</data>
|
||||||
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="pictureBoxIcon.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>4, 4, 4, 4</value>
|
||||||
|
</data>
|
||||||
|
<data name="pictureBoxIcon.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>59, 62</value>
|
||||||
|
</data>
|
||||||
|
<data name="pictureBoxIcon.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||||
|
<value>CenterImage</value>
|
||||||
|
</data>
|
||||||
|
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="pictureBoxIcon.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>pictureBoxIcon.Name" xml:space="preserve">
|
||||||
|
<value>pictureBoxIcon</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>pictureBoxIcon.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>pictureBoxIcon.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>pictureBoxIcon.ZOrder" xml:space="preserve">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name="progressBar.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>81, 45</value>
|
||||||
|
</data>
|
||||||
|
<data name="progressBar.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>4, 4, 4, 4</value>
|
||||||
|
</data>
|
||||||
|
<data name="progressBar.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>319, 26</value>
|
||||||
|
</data>
|
||||||
|
<data name="progressBar.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>progressBar.Name" xml:space="preserve">
|
||||||
|
<value>progressBar</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>progressBar.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.ProgressBar, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>progressBar.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>progressBar.ZOrder" xml:space="preserve">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelInformation.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelInformation.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
|
<value>Segoe UI, 9pt</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelInformation.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>78, 14</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelInformation.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>4, 0, 4, 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelInformation.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>128, 15</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelInformation.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelInformation.Text" xml:space="preserve">
|
||||||
|
<value>Update wird heruntergeladen...</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelInformation.Name" xml:space="preserve">
|
||||||
|
<value>labelInformation</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelInformation.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelInformation.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelInformation.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelSize.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
|
<value>Right</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelSize.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>265, 14</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelSize.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>135, 15</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelSize.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelSize.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||||
|
<value>MiddleRight</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelSize.Name" xml:space="preserve">
|
||||||
|
<value>labelSize</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelSize.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelSize.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelSize.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Localizable" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||||
|
<value>7, 15</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>413, 90</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
|
<value>Segoe UI, 9pt</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
AAABAAQAEBAAAAAAIABoBAAARgAAACAgAAAAACAAqBAAAK4EAAAwMAAAAAAgAKglAABWFQAAQEAAAAAA
|
||||||
|
IAAoQgAA/joAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAD///8B////Af//
|
||||||
|
/wH///8B////Af///wEAAAADAAAAAwAAAAMAAAADAAAAA////wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8BAAAAAwAAAAkAAAANAAAADwAAABEABQ0TAEqmPQAAAA0AAAAJAAAABf///wH///8B////Af//
|
||||||
|
/wH///8BAAAABwAAAA0ASKJBBVGsWwAAAB0AAAAhCV2/hxBv2MUAAAAZAAAAFQAAAA8AAAAHAAAAA///
|
||||||
|
/wH///8BAAAAAwAAAAkAAAARAEqnVyuO7/8Xbc2vA0ibbxuF7vsVfur7ACBILwAAABkAFzQZADR2GQAA
|
||||||
|
AAX///8B////Af///wEAAAAJAAAADwBKo0sokvT/IJH3/yeO8P8Wi/f/HYz1/xRs0LkWdt7LFHbj9wBT
|
||||||
|
u0cAAAAD////Af///wEAXM4RAFrITxJpzW8eddWlMpn0/x+U+P8ilvj/UrH6/xeN9/8Xi/b/DIP1/xh5
|
||||||
|
480AAAUF////Af///wH///8BAFzPDS+F4sU/ovj/LJz4/yea+P8nmvn/f8f8//H5/v8/pvr/Foz3/x+N
|
||||||
|
9f8KZtNt////Af///wH///8B////Af///wEAXM4TM4vm0zOh+f8toPn/Qab5//P5/v//////yef9/x2R
|
||||||
|
9/8YjPb/IYbt+Rp13ZUAXM4b////Af///wH///8B////ASB32otEqfj/M6X6/0Ok+f+Uyfv//////2Wz
|
||||||
|
+v8olff/FIv3/xeJ9v8nh+z5D2nVj////wH///8B////ASB32nNGpPX/L6L6/zao+v86q/v/aLb6////
|
||||||
|
//8nm/j/HZL4/yuV9v8ged2pAFvOH////wH///8B////AQBbzR8yhN+3QJXp10Ga7fdGrfr/Naf6/0un
|
||||||
|
+f+q0vv/IJX4/xyR9/8ikff/KH3ei////wH///8B////Af///wH///8B////Af///wEAXM5DS6v4/y6h
|
||||||
|
+f84pPn/Jpr4/zCd+P81k+3/M5f1/zuQ6usAW84J////Af///wH///8B////Af///wH///8BAFzOU1Wv
|
||||||
|
+f9Gne7vOovjxTWf+P88mfH/AFvNMQJfz0kieNuFAFzOM////wH///8B////Af///wH///8B////AQNf
|
||||||
|
z2M/jeKtAFzOGwBbzg87kOjbP5Loz////wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wEAW8wH////Af///wH///8BBWHQMxhu1nf///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAAD//wAA
|
||||||
|
//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//ygA
|
||||||
|
AAAgAAAAQAAAAAEAIAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAD///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wEAAAADAAAAAwAAAAUAAAAFAAAABwAAAAcAAAAHAAAABwAA
|
||||||
|
AAcAAAAFAAAAAwAAAAP///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////AQAAAAMAAAAFAAAABwAAAAkAAAALAAAACwAAAA0AAAANAAAADwAA
|
||||||
|
AA8AAAANAAAADQAAAA0AAAALAAAACQAAAAcAAAAFAAAAA////wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wEAAAAFAAAABwAAAAsAAAANAAAADwAAABEAAAATAAAAEwAA
|
||||||
|
ABUAAAAVAAAAFQAPJhkAWci7ACxgIQAAABEAAAARAAAADwAAAAsAAAAJAAAABwAAAAP///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wEAAAADAAAABwAAAAkAAAANAAAADwBHnj0AH0YdAAAAFwAA
|
||||||
|
ABkAAAAbAAAAHQAAAB0AAAAdAFW+mQ5v3P0ATq5rAAAAGQAAABcAAAATAAAAEQAAAA0AAAALAAAABwAA
|
||||||
|
AAX///8B////Af///wH///8B////Af///wH///8BAAAAAwAAAAUAAAAJAAAADQAAAA8AAAATAFfEpQhj
|
||||||
|
0N8ARpxVAAAAHwAAACEAAAAjAAAAJQBIoGsTduL9JIz0/wJYwa8AAAAdAAAAGwAAABcAAAAVAAAAEQAA
|
||||||
|
AA8AAAALAAAABwAAAAX///8B////Af///wH///8B////Af///wEAAAADAAAABwAAAAsAAAAPAAAAEQAA
|
||||||
|
ABUAVsCbOpfz/x984f0BVr2lABg4MwAAACkALmhJDWvX8SKO9v8XiPb/DmvY8QAIFSUAAAAfAAAAGwAA
|
||||||
|
ABcAAAATAAAAEQAAAA0AAAAJAAAABf///wH///8B////Af///wH///8B////AQAAAAMAAAAHAAAACwAA
|
||||||
|
AA8AAAATAAAAFQBUvZEylPL/IZD3/zKR8P8PadLlAESYcQZgy9ktk/T/EIb2/xCF9v8efuX9AEGPWQAA
|
||||||
|
AB8AAAAbAAAAFwAAABUAOH4pAE2tQQAAAAkAAAAFAAAAA////wH///8B////Af///wH///8BAAAAAwAA
|
||||||
|
AAcAAAALAAAADwAAABEAAAAVAFW8iTeW8f8WjPf/GY33/zOa9/8ng+X/MZDv/xqN9/8RiPb/EIf2/yqO
|
||||||
|
8f8AVLufAD6JSwBRtX0AWMStCGbU4RBu3P8AWsvBAAAACQAAAAX///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8BAAAABQAAAAkAAAANAAAADwAAABMAVbx9O5fw/xqP9/8aj/f/Go/3/ySU9/8hkvf/Foz3/xWL
|
||||||
|
9/8Tivf/J5P3/xt43/8efOP9JYjt/yKL9f8difb/GXnk/QBTuUkAAAAHAAAAA////wH///8B////Af//
|
||||||
|
/wH///8B////Af///wEAAAADAAAABQAAAAkAAAALABUtEwBXwYk/mO7/HZL4/x6T+P8dkvj/HZL4/xyR
|
||||||
|
+P8tofn/HpP3/xaM9/8Vi/f/IZD3/xaJ9v8Mg/b/CYH1/x+L9f8JZdLRAAAKBwAAAAX///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8BAFzOQQBczokAXMynDWfTwxlz2eUie979LYTi/02l9P8hlvj/IZb4/yGW
|
||||||
|
+P8glfj/L6H6/7Pf/f9Ksfv/GpD3/xeN9/8Uivf/EYj2/w6F9v8NhPb/J4Xq/QBYyGUAAAAD////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wEAXM81EGvW62ez+P9Jp/n/P6P5/zig+P8xnvj/J5r4/yWZ
|
||||||
|
+f8lmfn/JZn5/yqd+f+Jzv3//////8jo/v8vofr/GY/3/xaM9/8Tivf/EIf2/yWQ9v8Tb9npAFi/Cf//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAXM45Hnfb81Gr+f8ilvj/I5j4/yWZ
|
||||||
|
+f8nm/n/KJz5/ymc+f8pnPn/VLX7//b7/v///////////5DR/f8kmPn/GI73/xWL9/8SiPb/NpTx/wBc
|
||||||
|
zrcAWs8J////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAXM5HJn7e91Su
|
||||||
|
+v8mmvn/KZz5/yqe+f8sn/n/LaD5/yuc+P/S6v3/////////////////+Pz+/1a1+/8ckfj/F433/xOK
|
||||||
|
9/8ok/f/NI7s/RJu2OUAW85tAF7QB////wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wEAXM5VL4bi/VSw+v8rn/n/LqH6/y+i+v8kmPn/i8X6////////////////////////////1+z+/yiZ
|
||||||
|
+P8Yjvf/FYv3/xGI9v8Sh/b/K5L3/zCL6/0Qa9fhAFzOZQBZzAX///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wEAXM6xYrD0/zCh+v8xpPr/M6X6/xmI9v+m0Pv/qtL7/+Pw/v///////////6zU
|
||||||
|
+/+t1fz/Vqv5/xiO9/8WjPf/Eon3/w+F9v8Lgvb/EIT1/0Cb9/8jet/9AFzNvf///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8BAFvNeUeX6P9Pr/r/MKP6/zOm+v82qPv/K575/ySZ+f8Xjvf/rNP8////
|
||||||
|
////////I5f5/xiN9/8WjPf/Go/3/xeN9/8Tiff/FIj2/zGV9/83j+z9FG3Y5wBbzXMAWcwL////Af//
|
||||||
|
/wH///8B////Af///wH///8B////AQBczm1Bk+f/VLD6/y2g+v8xpPr/Naf6/ziq+/87rPv/Oav7/yWY
|
||||||
|
+f+s0/z///////////8vofr/I5f4/x+U+P8bkPj/F433/zSa+P9Alu39F3HZ5wBbznMAXNEL////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wEAXM5jO43k/Vix+v8qnfn/LqD6/zGk+v81p/r/OKr7/zus
|
||||||
|
+/85q/v/JZj5/6zT/P///////////yqd+P8jl/j/H5T4/xuQ+P8Xjff/S6Dy/wBczbEAXNEL////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAFvNUxlz2P13uvb/aLj5/2O3+v9atPv/ULH6/z6q
|
||||||
|
+v82qPv/OKn7/zeo+/8jmPj/rNP8////////////JJj4/yKX+P8ek/j/G5D3/xeN9/8/n/j/GXHY2wBt
|
||||||
|
2wP///8B////Af///wH///8B////Af///wH///8B////Af///wEAW84nAFzOYwBczYEAXM6fEGrTvSR7
|
||||||
|
3OMyhd/9cr34/zOl+v80pvr/M6X6/yWa+f86l/f/VaX4/1Wl+P8Zj/f/IZb4/x2S+P8aj/f/Foz3/xuN
|
||||||
|
9/9Ckuj/AFzOS////wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////AQBczn9ptfX/L6L6/zCj+v8wovr/LqH6/yyf+f8pnfn/Jpr5/yOX+P8ml/j/PKH5/yeW
|
||||||
|
9/8Vi/f/EYj2/0qi9v8NZdGz////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8BAFvOjWm39/8sn/n/LaD5/y2g+f9Nrfr/OqX5/yeb+f8kmPj/IZb4/1iu
|
||||||
|
+f8wg+D/QpHm/VSk8v9Sp/j/Uaf4/zSG4v0AW84j////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wEAXM6babj5/yic+f85pPn/bLj4/ziJ4f1osfT/Lpz5/yGW
|
||||||
|
+P8flPj/X6nw/wBczXEAW845AF3OdQVg0K8dddvtLX/e/wBczov///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////AQBczqtqufr/V7H6/1ii7P8QadTBAFzPORZv
|
||||||
|
199ntvn/IJT4/zSd+P8+jOL9AFvNG////wH///8B////Af///wEAW84pAFzOP////wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BBWLRt3y89v8rfdzvAFzPZf//
|
||||||
|
/wH///8BAFvOOS6D4PlRq/n/U6v5/xlw1sf///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wECXc7RCmTSqwBb
|
||||||
|
zhn///8B////Af///wH///8BAFvNc02b6v9orvP/AFzOef///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBb
|
||||||
|
zBv///8B////Af///wH///8B////Af///wH///8BBWHRsy5+3f0AXM4n////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAW84TAFzOs////wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAoAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAA////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wEAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAP///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wEAAAADAAAAAwAAAAMAAAADAAAABQAAAAUAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAA
|
||||||
|
AAcAAAAFAAAABQAAAAUAAAADAAAAA////wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8BAAAAAwAAAAUAAAAFAAAABwAAAAkAAAAJAAAACwAAAAsAAAANAAAADQAAAA0AAAANAAAADQAA
|
||||||
|
AA0AAAANAAAADQAAAAsAAAALAAAACwAAAAkAAAAJAAAABwAAAAUAAAAFAAAAA////wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8BAAAAAwAAAAMAAAAFAAAABwAAAAkAAAAJAAAACwAAAA0AAAANAAAADwAAAA8AAAARAAAAEQAA
|
||||||
|
ABEAAAARAAAAEQAAABEAAAARAEWaNQBGnjcAAgQPAAAADwAAAA0AAAANAAAACwAAAAkAAAAJAAAABwAA
|
||||||
|
AAUAAAAD////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wEAAAADAAAABQAAAAcAAAAJAAAACwAAAA0AAAANAAAADwAAABEAAAARAAAAEwAA
|
||||||
|
ABMAAAAVAAAAFwAAABUAAAAVAAAAFQAAABUAG0UfAFrL1wBWwZUAI04fAAAAEwAAABEAAAARAAAADwAA
|
||||||
|
AA0AAAANAAAACwAAAAkAAAAHAAAABQAAAAP///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8BAAAAAwAAAAUAAAAHAAAABwAAAAsAAAALAAAADQAPIRMAP40vABo7GwAA
|
||||||
|
ABUAAAAXAAAAGQAAABkAAAAZAAAAGwAAABsAAAAdAAAAGwAiTykAV8KpCWnX/QVgzdMAPYc9AAAAFwAA
|
||||||
|
ABcAAAAVAAAAEwAAABEAAAAPAAAADQAAAA0AAAALAAAABwAAAAcAAAAD////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAAAABQAAAAcAAAAHAAAACwAAAA0AAAAPAAAAEQA1
|
||||||
|
dScAWMavAFS8iQA2ejUAAQMbAAAAHQAAAB0AAAAfAAAAHwAAACEAAAAhABQsKQBQsoEHZ9bvIIbv/w5t
|
||||||
|
2vcASKFdAAAAGwAAABkAAAAZAAAAFwAAABUAAAATAAAADwAAAA8AAAANAAAACQAAAAkAAAAHAAAAA///
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAAAADAAAABQAAAAcAAAAJAAAADQAA
|
||||||
|
AA8AAAARAAAAEwA3fS8AWsrRD2zY9wFax8MARppXAAAAHwAAACEAAAAjAAAAJQAAACUAAAAlAEGQWwVi
|
||||||
|
0OUeg+v/IYz1/xZ34f8BVLmTAAAAHwAAAB0AAAAbAAAAGQAAABcAAAAVAAAAEwAAABEAAAAPAAAACwAA
|
||||||
|
AAkAAAAHAAAABQAAAAP///8B////Af///wH///8B////Af///wH///8B////AQAAAAMAAAAFAAAABwAA
|
||||||
|
AAsAAAALAAAADQAAABEAAAATAAAAFQAsYykAWcnNN5Xy/y2K6v0Pa9f9AVS4lwAxb0MABxEpAAAAJwAA
|
||||||
|
ACkAKF1DBGDN5R+B6P0hjfb/EIX2/x+D6/8GYc/hAAYPJQAAACEAAAAdAAAAGwAAABkAAAAXAAAAFQAA
|
||||||
|
ABMAAAAPAAAADQAAAAsAAAAJAAAABwAAAAX///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wEAAAAFAAAABwAAAAkAAAANAAAADwAAABEAAAATAAAAFQAfRyMAWcjLM5Px/zWZ9/8yk/H/HHfe+wdf
|
||||||
|
ycsAR6B1AAYPLQAfRj8AUrmxGXri/ymR9f8Sh/b/D4X2/yOL8/8LaNf/ADNyQwAAACEAAAAfAAAAHQAA
|
||||||
|
ABkAAAAXAAAAFQAAABMAAAARAAAADwAAAAsAAAAJAAAABwAAAAMAAAAD////Af///wH///8B////Af//
|
||||||
|
/wH///8B////AQAAAAMAAAAFAAAABwAAAAkAAAANAAAADwAAABEAAAATAAAAFQANIh0AWcfHMJHv/yeT
|
||||||
|
9/8djvf/NZf1/y6L6v8NaNLrAFO3pQBQtKENa9b1Mpb1/xuM9v8Phvb/DoX2/yKO9v8Xdd/9AE6rfwAA
|
||||||
|
ACEAAAAfAAAAHQAAABkAAAAXAAAAFwAdPRsAR6A9AFS+bQBAkSMAAAAJAAAABwAAAAMAAAAD////Af//
|
||||||
|
/wH///8B////Af///wH///8B////AQAAAAMAAAAFAAAABwAAAAkAAAALAAAADwAAABEAAAATAAAAFQAA
|
||||||
|
ABcAWsfDMZDu/yuW9/8Vi/b/F4z3/yqV9/88nfb/IHzg/RJv2v80lPH/I5H3/xKI9/8Rh/b/EIf2/xyM
|
||||||
|
9v8piez/AFjFxQAkUTMAL2k5AECRSwBMqmMAVb6PBF/NyQdk1PUHZdX/AFvN6wBUvl0AAAAJAAAABwAA
|
||||||
|
AAX///8B////Af///wH///8B////Af///wH///8B////Af///wEAAAADAAAABwAAAAkAAAALAAAADQAA
|
||||||
|
AA8AAAARAAAAFQAAABcAWse5MZDs/zCZ+P8Yjff/GI73/xiO9/8ikvf/Npz3/zmb9f8vmPf/FYv3/xSK
|
||||||
|
9/8Tiff/EYj2/xaK9v8ylvX/BV7M6wBWwbEDXMe/DGnW6RFw3f0XduH/HH/p/SKG7/8be+b9AFrKrwAw
|
||||||
|
bBUAAAAJAAAABQAAAAP///8B////Af///wH///8B////Af///wH///8B////Af///wEAAAADAAAABQAA
|
||||||
|
AAcAAAAJAAAACwAAAA8AAAAPAAAAEQAAABUAWsexMo7r/zSc+P8aj/f/Go/3/xqP9/8aj/f/HZH3/yGT
|
||||||
|
9/8bj/f/F433/xaM9/8Vi/f/FIr3/xOJ9v8vl/f/KIXo/yWE6P8sjO39LI/y/yWN9P8cifX/FIT1/yKK
|
||||||
|
9P8Oa9n/AFS7UwAAAAkAAAAHAAAABQAAAAP///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8BAAAAAwAAAAUAAAAHAAAACQAAAAsAAAANAAYNDwAdQRkAWsevMY3p/zug+f8dkvj/HZL3/x2S
|
||||||
|
+P8ckvj/HJH3/xyR+P8bkfj/JZn4/ySY+P8Zjvf/Foz3/xSL9/8Wi/f/KZT3/yOQ9v8Xivb/DIP2/wqB
|
||||||
|
9v8IgPX/E4X1/yGB6f8GYtDPAAARCQAAAAcAAAAFAAAAA////wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8BAF3FBwBVvBkAVr8tAFbBRwBWwVsAWMRvAFjFhQBYxZUAW8znM47p/z+j
|
||||||
|
+f8flPf/H5T3/x+U+P8flPf/HpP3/x6T+P8lmvn/Ubf7/1e4+/8lmvj/GI73/xaM9/8Vi/f/E4n3/xGI
|
||||||
|
9v8Phvb/DYT2/wuD9v8Jgfb/JYz0/xd03vsBWcZtAAAABQAAAAMAAAAD////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wEAXM6PAFzOwwBbzcsBXc7TDmnU3Rt02uklf+D1MYnl/TuS
|
||||||
|
6f9Fmu3/U6n1/zig+P8hlvf/IZb4/yGW9/8hlvf/IZX4/ySY+P83qPv/u+P9/7He/f9Gr/v/HJH4/xiO
|
||||||
|
9/8Xjff/FIv3/xOJ9/8RiPb/D4X2/wyE9v8Rhfb/L43v/wtm09EAU74xAAAAA////wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAXM9zC2bT8Uia7f9ntPn/WK75/1Ss
|
||||||
|
+f9Oqvn/Rab5/z6j+P83oPj/LJv4/ySY+f8kmPj/JJj4/ySY+f8kmPj/JZn5/zin+/+S0f3///////v9
|
||||||
|
/v+Y1P3/MaP6/xyR9/8Yjvf/Foz3/xSK9/8Siff/EIf2/w+G9v8qk/b/IHvh+QBczIEAV78H////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAVdUDAV3PgR92
|
||||||
|
2u9Yp/L/QKP5/yGU+P8glPj/IZb4/yOX+P8kmPj/JZn5/yaa+f8mmvn/J5v5/yeb+f8nmvn/MKL6/23C
|
||||||
|
/P/k8/7////////////v+P7/Ybz8/ymd+f8bkPf/F433/xaM9/8Uivf/EYj2/xiL9v85mPX/CmXT2wBb
|
||||||
|
zjn///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8BAFzOEwJf0I8adNr1XbD4/zmh+P8ilvj/I5j4/ySZ+P8mmvj/J5v4/yic+P8pnPj/KZz4/ymc
|
||||||
|
+P8qnfj/SrD7/8Hl/f/8/v7/////////////////w+b+/0iw+/8ilfj/GY/3/xeN9/8Vi/f/E4n2/ySR
|
||||||
|
9/81j+3/AFzO4QBbzlMAWs8H////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////AQBd0QkAXM6JIHnb+Vut9f8/pPn/JZn4/yeb+f8pnPj/Kp35/yue
|
||||||
|
+f8rn/n/LJ/5/yue+f8rnfj/otX8//7///////////////7+/v//////+vz+/6XZ/P88qfr/HJH4/xiO
|
||||||
|
9/8WjPf/E4r3/xmM9/84m/f/Mo3q/xZx2v0HY9LHAFzOSwBbzhcAXs8D////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAWssNBWHQpSqC4PlgsPf/OqT5/ymd
|
||||||
|
+f8qnvn/LJ/5/y2g+v8toPn/LaD5/yOX+f9csPn/9vr+///////+/v7////////////+/v7//////+v2
|
||||||
|
/v9ywPv/I5f4/xqP9/8Xjff/FIv3/xKJ9/8Vifb/KZL3/zaV9P8vien9FXDZ7wRf0KkAXM1ZAFnSCf//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAFzNIwVi
|
||||||
|
0a8uheL9Z7n6/zql+f8sn/n/LaH6/y+i+v8wo/r/J5v4/zKZ+P/F4vz///////7+/v//////////////
|
||||||
|
///////////////////a7v7/L534/xyS+P8Yjvf/FYz3/xOJ9/8RiPb/D4b2/xSH9v8jjvf/OZXy/y6H
|
||||||
|
6P0Qa9bnAFzOqQBbzTsAWcsF////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////AQBbzisAW87VUKPv/1ay+v8vofr/MKP6/zGk+v8zpfr/E4b2/3i4+f/S5/3/1Oj9/9zs
|
||||||
|
/f/4+/7/////////////////1en9/9bq/f/W6v3/hcL6/xqP9/8Zj/f/Foz3/xSK9/8RiPf/D4X2/w2E
|
||||||
|
9v8Kgvb/DIL1/yqQ9v9CnPb/LILk/QVg0P0AW82X////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8BAFzPEQBczn8fd9rvaLb3/0es+v8wovr/MaT6/zOl+v80p/r/GIz3/yqS
|
||||||
|
9/8zl/f/MZb2/1Gk+P/c7P3//v7+////////////PJ74/zWY9/80mPf/LZX3/xeM9/8Zjvf/F433/xWL
|
||||||
|
9/8SiPf/D4b1/w2E9v8Rhfb/J5D2/zaV9P8wiOn9GnLb8wVg0LMAW81b////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAFvNdR112e9msPL/Tq76/zGj+v8xo/r/M6b6/zWn
|
||||||
|
+v83qfv/M6X6/y+h+v8tofr/JZn4/zSX9//V6f3///////7+/v/+/v7/LKD6/x6T+P8dkff/G5D3/xqQ
|
||||||
|
9/8aj/f/F433/xWL9/8Siff/E4j2/ymS9/9Dnvj/No7r/xhx2v0IY9LNAFrNUQBbzRsAWcwD////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////AQBczQsAXM1rIHfb/2ay9f9Sr/r/LaD6/y+i
|
||||||
|
+v8xpPr/NKb6/zeo+/84qvv/Oqz7/zqr+/84qvv/LqD6/zaY+P/V6f3/////////////////M6b6/ySY
|
||||||
|
+f8ilvj/H5T4/x2S+P8akPf/F433/xmN9/8ul/j/SaD0/z6S6/8ZctntAFvOtwBczk0AXNEJ////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAFrNCwBbzWcWcNjpZbD0/1ax
|
||||||
|
+v8voPn/LaD6/y+i+f8ypPr/NKf6/zeo+/85q/v/PK36/zus+/85q/v/LqH6/zaY+P/V6f3//v7+////
|
||||||
|
////////MaP5/ySY+P8il/j/H5T3/x2S+P8akPj/F433/y6Y9/9MoPP/Hnbb8wdi0bEAXM5jAFvRD///
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAFzOWRNu
|
||||||
|
1+deqPD/WrL6/y2e+f8qnfn/LaD6/y+i+v8xpPr/NKb6/zeo+/84qvv/Oqz6/zqr+/84qvv/LqD6/zaY
|
||||||
|
+P/V6f3///////7+/v/+/v7/LKD5/yOY+P8ilvj/H5T4/xyS9/8akPj/F433/zGZ+P9MnvD/AFzNzwBc
|
||||||
|
zSUAXNED////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBY
|
||||||
|
ywMAW81RC2fT+1ai7P+Bwfj/XbP5/1ax+v9Mrfn/RKr6/0Kq+v9Aqvr/O6n6/zWn+v83qfv/OKn7/zip
|
||||||
|
+/83qPv/LKD5/zaY+P/V6f3/////////////////Jpr4/yKX+P8ilvj/H5T4/x2S+P8akPf/F433/xyP
|
||||||
|
9/9Tqfj/GnLY5QBdzlH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////AQBdzwcAW86bCWPR3yt/3fEzheD9Po3j/0mV5v1WoOr9Yqvw/2ey9P9ruPf/ar37/0Ks
|
||||||
|
+v81p/r/Nqj6/zan+/81p/r/K575/y6U9/+y1vz/1Oj9/9To/f/U6P3/IZb4/yGV+P8hlvj/HpP3/xyR
|
||||||
|
+P8aj/f/F433/xWL9/85nPj/QZHo/QNfz5UAXc4N////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wEAW84dAFzOMQFdzjkAW81HAFzOawNfzocLZdKlEmzVzxZv
|
||||||
|
1u0acdf9ZbP0/1e1+v8zpfr/M6X6/zOl+v8ypfr/LJ/5/xaK9v8ji/b/Ko/2/yqP9v8qj/b/Eor3/yGV
|
||||||
|
9/8glfj/HZL4/xyR9/8Zj/f/Foz3/xSK9/8ZjPf/VqTx/xdv19cAXM4t////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wEAXM6/X63y/1Wz+/8wo/r/MKP6/zCj+v8wovr/L6L6/y6h+v8sn/n/Kp35/yic
|
||||||
|
+f8mmvj/JJj4/yGW+P8klvj/LZr4/yeW+P8ekff/FYz3/xOJ9/8RiPb/Q5/2/zeH4v8FYM97////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////AQBZ2QUAW87DZLH0/1Cw+v8uofr/LqH6/y6h+f8uofr/LKD5/yyf
|
||||||
|
+f8qnfn/KJz4/yeb+f8lmfn/Ipf4/yGW+P9Lqfn/Xa31/1ut9/9Uq/j/QaD4/zCY+P8fj/b/KJL2/02c
|
||||||
|
7v0RadTZAFnMCf///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////AQBb0Q8AW87HabX2/0ut+v8rn/n/LJ/5/yyf
|
||||||
|
+f8toPn/V7L6/2G2+v83o/n/J5v5/yWZ+f8jl/j/IZb4/y2b+P9tuPn/G3LX/xpx2P8sf9/7SJns/1mo
|
||||||
|
9P9hr/j/Xa35/2iw9/8keNv7AFvORf///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBdzxsAXM7Nbrn4/0Oo
|
||||||
|
+f8pnPn/Lp/5/0aq+v9uuvj/XKXs/1Kf6/9vufn/LJz5/yOX+P8hlvj/H5T4/0Sl+f9bpe7/AFzNsQBa
|
||||||
|
zCkAW85fAF3OpQBczckJY9LXJn3f80SS6P06iuP/AFzOtQBf0gv///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBd
|
||||||
|
zyUAXM7Rcrz6/z6l+f8yoPn/XbT6/2ix8/89jOL9B2LQvQ1o1NNWou3/WbH6/yaY+P8flPj/IpX4/1iu
|
||||||
|
+f87ieH9AFzOY////wH///8BAF3QAwBdzRMAW805AFzOZwBbzYsCXc6vAFzOuwBczh////8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////AQBbzy8AXM7Vd7/6/1aw+v9wvPr/Up7r/xtx1+8GYdGFAFzPIQBbzlsRatXnb7j3/0Sm
|
||||||
|
+f8elPj/Kpj4/2Gu9v8ec9f9AFnNGf///wH///8B////Af///wH///8B////AQBZywcAW84ZAFzNKQBc
|
||||||
|
zQf///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////AQBczjkFYtLXhcT5/2uv8f8uf9zxAFzPqQBczi////8B////Af//
|
||||||
|
/wEAW851I3nb+Wmz9/83nvj/OJ74/1ih7P0RatS7////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////AQBbzkMIY9HfSJTl/Rtx1tUBXc51AFrOD///
|
||||||
|
/wH///8B////Af///wEAV84LB2PRsz6P5f9ksvj/WKz4/0GN4/8FYM5v////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBbzVcBXM7rCGLRowBb
|
||||||
|
zzMAWs4H////Af///wH///8B////Af///wH///8BAFvNNwxm0tFXo+7/cbX2/yt+3esAXM47////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBZ
|
||||||
|
zA8AXMwt////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBczk8KZdLhU5vp/w1l
|
||||||
|
0a8AW84Z////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBd
|
||||||
|
zwcAXM55CmPR/wBczYkAXM0F////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wEAW84PAFzOmwBbzTf///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8BAAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAA
|
||||||
|
AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA
|
||||||
|
//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAA
|
||||||
|
AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA
|
||||||
|
//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAA
|
||||||
|
AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA
|
||||||
|
//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//KAAAAEAAAACAAAAAAQAgAAAA
|
||||||
|
AAAAQgAAAAAAAAAAAAAAAAAAAAAAAP///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAAAAAwAAAAMAAAADAAAABQAAAAUAAAAFAAAABQAA
|
||||||
|
AAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAADAAAAA////wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wEAAAADAAAAAwAAAAUAAAAFAAAABQAAAAcAAAAHAAAABwAA
|
||||||
|
AAcAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAHAAAABwAAAAcAAAAHAAAABQAA
|
||||||
|
AAUAAAAFAAAAA////wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAAAAAwAAAAMAAAAFAAAABQAAAAcAAAAHAAAACQAA
|
||||||
|
AAkAAAAJAAAACwAAAAsAAAALAAAACwAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAALAAAACwAA
|
||||||
|
AAsAAAALAAAACQAAAAkAAAAJAAAABwAAAAcAAAAFAAAABQAAAAMAAAAD////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAAAADAAAABQAAAAUAAAAHAAAABwAA
|
||||||
|
AAkAAAAJAAAACwAAAAsAAAANAAAADQAAAA0AAAAPAAAADwAAAA8AAAAPAAAADwAAABEAAAARAAAAEQAA
|
||||||
|
AA8AAAAPAAAADwAAAA8AAAAPAAAADQAAAA0AAAANAAAACwAAAAsAAAAJAAAACQAAAAcAAAAHAAAABQAA
|
||||||
|
AAUAAAAD////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQAAAAMAAAAFAAAABQAA
|
||||||
|
AAcAAAAJAAAACQAAAAsAAAALAAAADQAAAA0AAAAPAAAADwAAABEAAAARAAAAEQAAABMAAAATAAAAEwAA
|
||||||
|
ABMAAAATAAAAEwAAABMAAAATAAAAEwBIn0EAWcirAAwYFQAAABEAAAARAAAADwAAAA8AAAAPAAAADQAA
|
||||||
|
AA0AAAALAAAACQAAAAkAAAAHAAAABQAAAAUAAAAD////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAAAAAwAA
|
||||||
|
AAMAAAAFAAAABwAAAAkAAAAJAAAACwAAAA0AAAANAAAADwAAAA8AAAARAAAAEwAAABMAAAATAAAAFQAA
|
||||||
|
ABUAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAnYicAXM7/AFzO/wBKoU0AAAAVAAAAFQAA
|
||||||
|
ABMAAAATAAAAEQAAABEAAAAPAAAADQAAAA0AAAALAAAACQAAAAkAAAAHAAAABQAAAAUAAAAD////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8BAAAAAwAAAAUAAAAHAAAABwAAAAkAAAALAAAACwAAAA0AAAAPAAAAEQAAABEAAAATAAAAEwAA
|
||||||
|
ABUAAAAXAAAAFwAAABkAAAAZAAAAGQAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAACRsAWcfBAmHR+wZi
|
||||||
|
0f0AVr6VAAAAGQAAABcAAAAXAAAAFQAAABUAAAATAAAAEQAAABEAAAAPAAAADQAAAA0AAAALAAAACQAA
|
||||||
|
AAcAAAAHAAAABQAAAAP///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8BAAAAAwAAAAUAAAAHAAAABwAAAAkAAAALAAAADQAAAA8AAAAPAAAAEQA5
|
||||||
|
eSkAWMWrAD6NOwAAABcAAAAXAAAAGQAAABsAAAAbAAAAHQAAAB0AAAAdAAAAHwAAAB8AAAAfAAAAHwAA
|
||||||
|
AB8AUbaLAF3P/R6E7v8UdeL/AFzM4QAAABsAAAAbAAAAGQAAABkAAAAXAAAAFQAAABUAAAATAAAAEQAA
|
||||||
|
AA8AAAAPAAAADQAAAAsAAAAJAAAACQAAAAcAAAAFAAAAA////wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAAAAAwAAAAUAAAAHAAAABwAAAAkAAAALAAAADQAA
|
||||||
|
AA8AAAARAAAAEQAAABMAS6dPAFzO/wBczv8AU7mFAAkaHwAAABsAAAAdAAAAHwAAAB8AAAAhAAAAIQAA
|
||||||
|
ACEAAAAjAAAAIwAAACMARZddAF3P/RR65v8nj/b/JIbu/wBczv8ANnU9AAAAHQAAABsAAAAbAAAAGQAA
|
||||||
|
ABcAAAAXAAAAFQAAABMAAAARAAAAEQAAAA8AAAANAAAACwAAAAkAAAAJAAAABwAAAAUAAAAD////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAAAAAwAAAAMAAAAFAAAABwAA
|
||||||
|
AAkAAAALAAAADQAAAA8AAAAPAAAAEQAAABMAAAAVAEWdRwBczv8aeOH/A1/Q/QBbydcAPYVHAAAAHwAA
|
||||||
|
ACEAAAAjAAAAIwAAACUAAAAlAAAAJQAAACcAKlw9AFvM8Q1v3f0skvb/HYv2/ymR9v8GYtD9AE+wgQAA
|
||||||
|
AB8AAAAfAAAAHQAAABsAAAAZAAAAGQAAABcAAAAVAAAAEwAAABEAAAARAAAADwAAAA0AAAALAAAACQAA
|
||||||
|
AAcAAAAFAAAABQAAAAP///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQAA
|
||||||
|
AAMAAAAFAAAABwAAAAkAAAALAAAACwAAAA0AAAAPAAAAEQAAABMAAAAVAAAAFwA/jj0AXM7/N5Ty/zyZ
|
||||||
|
8/8Tb9n7AFzO/QBTt5EADSApAAAAJQAAACcAAAAnAAAAKQAAACkACxwvAFnG0Qdl1Psukvb/Io73/wmB
|
||||||
|
9v8pkfb/E3Hd/wBZx8kAAAAjAAAAIQAAAB8AAAAdAAAAGwAAABkAAAAZAAAAFwAAABUAAAATAAAAEQAA
|
||||||
|
AA8AAAANAAAADQAAAAsAAAAJAAAABwAAAAUAAAAD////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wEAAAADAAAABQAAAAcAAAAJAAAACwAAAA0AAAAPAAAAEQAAABEAAAATAAAAFQAA
|
||||||
|
ABcAN3gzAFzO/zSS8P9Bn/j/QJ/4/yqH6P8FYND9AFvJ3wA6hlUAAAApAAAAKQAAACsAAAAtAFC1owFe
|
||||||
|
z/0rjvH/LZX3/w6E9v8Lgvb/Io73/yOE6/8AXM79ABtAMQAAACEAAAAhAAAAHwAAAB0AAAAbAAAAGQAA
|
||||||
|
ABcAAAAVAAAAEwAAABMAAAARAAAADwAAAA0AAAALAAAACQAAAAcAAAAFAAAAA////wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAAAAAwAAAAUAAAAHAAAACQAAAAsAAAANAAAADwAA
|
||||||
|
ABEAAAATAAAAFQAAABUAAAAXACZZKQBczv8uju7/NJr3/x+P9/88nfj/Ppr0/xdy2/0AXc/9AFG1nwAP
|
||||||
|
JDMAAAAtAEOXcwBczf8jher/N5r4/xWI9v8Nhfb/DIT2/xiJ9v8xlPb/A17Q/wBJoW0AAAAjAAAAIQAA
|
||||||
|
AB8AAAAdAAAAGwAAABkAAAAXAAAAFwAAABUAAAATAAAAEQAAAA8AAAANAAAACwAAAAkAAAAHAAAABQAA
|
||||||
|
AAMAAAAD////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQAAAAMAAAAFAAAABwAA
|
||||||
|
AAkAAAALAAAADQAAAA8AAAARAAAAEwAAABMAAAAVAAAAFwARKx8AXM7/LY7t/zqc+P8Tivf/Fov3/zCY
|
||||||
|
+P9Fovn/MIzr/wdi0P0AXMrlAEijfwBczfcXd+D/Pp74/x+P9/8Qh/b/D4b2/w6F9v8Phfb/NJj3/xJv
|
||||||
|
2vsAVr2vAAAAIwAAACEAAAAfAAAAHQAAABsAAAAZAAAAFwAAABcAAAAVADZyJwBQtVkAWcehAE+zSwAA
|
||||||
|
AAsAAAAJAAAABwAAAAUAAAADAAAAA////wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wEAAAADAAAABQAAAAcAAAAJAAAACwAAAA0AAAAPAAAADwAAABEAAAATAAAAFQAAABcAAAAZAF3O/S2M
|
||||||
|
7P9AoPj/FYv3/xWL9/8Vi/f/IZH3/0Cg+P9Dn/X/G3fd/QBczv8LaNb9P5/4/y+X+P8Siff/EYj3/xGH
|
||||||
|
9v8Qh/b/D4b2/y2V9/8kgub/AFzN8wAHDiUAAAAhAAAAHwAAAB0ACRIdAEGRQwBRuHcAWMSpAFvM4wBc
|
||||||
|
zv8AXM7/AFzO/wBbzNcAAAALAAAACQAAAAcAAAAFAAAAA////wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8BAAAAAwAAAAUAAAAHAAAACQAAAAkAAAALAAAADQAAAA8AAAARAAAAEwAA
|
||||||
|
ABUAAAAXAAAAFwBdzvUriun/RaT5/xeN9/8Xjff/F433/xeN9/8Zjvf/M5v4/0mm+f84lvH/Pp32/zyf
|
||||||
|
+P8Wi/f/FIr3/xOK9/8Siff/EYj3/xCH9v8ij/f/N5Xy/wFdzv8AR6FlAEedXwBUuY8AWcjHAFzN9wBc
|
||||||
|
zv8CXs79DGva+xN24/8jhO3/Hn/q/wBczv8AS6ozAAAACwAAAAkAAAAHAAAABQAAAAP///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAAAADAAAABQAAAAcAAAAJAAAACwAA
|
||||||
|
AA0AAAAPAAAADwAAABEAAAATAAAAFQAAABcBXc7rKojo/0un+f8Zjvf/GY/3/xmP9/8Zj/f/GY/3/xmO
|
||||||
|
9/8jk/f/O5/4/zad+P8cj/f/Foz3/xaM9/8Vi/f/FIr3/xOK9/8Siff/F4v2/z6e+P8NZNH/AFzO/wBc
|
||||||
|
zv8IZNP5FHTf/x6A6P8oi/H/LpL3/y2S9/8pj/f/KY/3/xJu2vsAW8y/AAAACwAAAAkAAAAHAAAABQAA
|
||||||
|
AAMAAAAD////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAAAAAwAA
|
||||||
|
AAUAAAAFAAAABwAAAAkAAAALAAAADQAAAA8AAAAPAAAAEQAAABMAAAAVAV3N4SiF5v9Rq/r/G5D4/xuQ
|
||||||
|
+P8bkPj/G5D4/xuQ+P8bkPj/GpD4/xqQ9/8Zj/f/GY/3/xiO9/8Xjff/F433/xaM9/8Vi/f/FIr3/xKJ
|
||||||
|
9/83m/j/NZTy/yyM7f84mPX/Opv4/zeZ+P8sk/f/IIz2/xSG9v8Jf/X/F4b2/ymL8f8CXc7/AFS4TwAA
|
||||||
|
AAkAAAAHAAAABwAAAAUAAAAD////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wEAAAADAAAABQAAAAcAAAAHAAAACQAAAAsAAAANAAAADQAAAA8AAAARAAAAEwFd
|
||||||
|
zNclg+X/WK76/xyS+P8dkvj/HZL4/x2S+P8dkvj/HJL4/xyR+P8ckfj/G5H4/xuQ+P8dkvj/I5j4/xmO
|
||||||
|
9/8Xjff/Foz3/xWL9/8Uivf/GYz3/zKY+P8wl/f/JJD3/xeK9v8Ng/b/C4L2/wmB9v8IgPX/B3/1/yyS
|
||||||
|
9/8ad+D/AFzN3QAAGgsAAAAHAAAABwAAAAUAAAAD////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////AQAAAAMAAAAFAAAABQAAAAcAAAAJAAAACwAA
|
||||||
|
AAsAAAANADVyHQBIoTkAXM7/IoDi/12x+v8fk/j/HpP4/x+U+P8flPj/H5T4/x6T+P8ek/j/HpP4/x2S
|
||||||
|
+P8elPj/Oaz7/z6v/P8wo/r/GY/3/xiO9/8Xjff/FYz3/xSK9/8Tiff/Eoj3/xCH9v8Phvb/DYT2/wyD
|
||||||
|
9v8Kgvb/CYH2/xiI9v80k/T/BmHQ/QBYw2sAAAAHAAAABQAAAAUAAAAD////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBmzAUAYM8hAFnGPwBb
|
||||||
|
yV8AWsp9AFvMmwBczLkBXc7dAF3P9QBczv8AXM7/AFzO/ymG5f9fs/r/Ipb4/yCV+P8glfj/IJX4/yCV
|
||||||
|
+P8glfj/IJX4/x+U+P8flPj/M6X7/1G3/P+z4P7/Pq/8/yWb+f8Zj/f/GI73/xeN9/8WjPf/FIv3/xOJ
|
||||||
|
9/8RiPf/EIf2/w6F9v8NhPb/C4P2/wqB9v8vlPf/JIHm/wBcz/MAOY4TAAAABQAAAAMAAAAD////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBc
|
||||||
|
zv8AXM7/AFzO/wBczv8CXs/9DmnV+Rt12/sngOH/M4zn/z+V7P9KoPD/VKn1/2Cy+f9jtfr/Sqn5/yKW
|
||||||
|
+P8il/j/Ipf4/yKX+P8il/j/Ipf4/yKW+P8hlvj/LJ/6/z+v/P/K6f7//////4nO/f88rfz/H5T5/xqP
|
||||||
|
9/8Yjvf/F433/xWM9/8Uivf/E4n3/xGI9v8Qhvb/DoX2/wyE9v8WiPb/PJr3/w5n1PsAWsuNAAAABQAA
|
||||||
|
AAP///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wEAXc/JAFzO/ziP6v9lsff/Z7X6/2a1+v9ntfr/ZLT6/12x+v9Urfr/TKr5/0Sm
|
||||||
|
+f88o/n/M574/yOY+f8kmPn/JJj5/ySY+f8kmPn/JJj5/ySY+f8jmPn/J5r5/z2t/P+S0v3/////////
|
||||||
|
///2+///Wbr8/zWn+/8bkPj/Go/3/xiO9/8Xjff/FYv3/xSK9/8Siff/EYf2/w+G9v8Nhfb/L5X3/zGM
|
||||||
|
6/8AXc79AFi/If///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAFXVBwBczrcFYtL7Z7D1/2m2+v80nfn/JJX4/x6T
|
||||||
|
+P8glPj/IZX4/yKW+P8jl/j/JJj5/ySZ+f8lmfn/Jpr5/yaa+f8mmvn/Jpr5/yaa+f8mmvn/Jpn5/ziq
|
||||||
|
/P9fvf3/+fz//////////////////9Xu/v9BsPz/K5/6/xuQ+P8Zj/f/GI73/xaM9/8Vi/f/E4r3/xKI
|
||||||
|
9/8Qh/b/FYj2/0Of+P8Xcdr7AFzPq////wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAZswLAF3PyQll
|
||||||
|
0vtcrPb/YLL6/ySW+P8glfj/IZb4/yKX+P8jmPn/JJn5/yWZ+f8mmvn/J5v5/yeb+f8onPn/KJz5/yic
|
||||||
|
+f8onPn/KJv5/zKk+/9Dsfz/3PH+////////////////////////////oNf+/z2u/P8il/j/G5D4/xmP
|
||||||
|
9/8Xjff/Foz3/xSL9/8Tiff/EYj2/y2V9/9AmPH/AV3O/wBbzTn///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////AQBVzA8BXtDXDmnV+2Oy+P9es/r/JZj4/yKX+P8kmPn/JZn5/yaa+f8nm/n/KJz5/ymc
|
||||||
|
+f8pnfn/Kp35/yqd+f8qnfn/Kp35/yuf+f81p/v/ptn9//////////////////////////////////3+
|
||||||
|
//9pwf3/OKr8/x2R+P8akPj/GY73/xeN9/8Vi/f/FIr3/xKI9/88nfj/MIjn/wBczv8AXM+lAFrPJf//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAF3RFwFdz+ESbtb7arb4/12z+v8nmfn/JZn5/yaa
|
||||||
|
+f8om/n/KZz5/yqd+f8qnvn/K575/yuf+f8sn/n/LJ/5/yyf+f8qnvn/Y7j7//7/////////////////
|
||||||
|
////////////////////////5fT+/0Wx+/8vovr/G5H4/xmP9/8Yjvf/Foz3/xSL9/8Tiff/JpP3/0yl
|
||||||
|
+P84kez/EmvW+wBdzv0AXM+fAGDPIf///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAWssjAV3P6Rh1
|
||||||
|
2/twu/r/XbP7/yea+f8onPn/KZ35/yqe+f8rn/n/LJ/6/y2g+v8toPr/LqH6/y6h+v8lmfn/MZz4/+j0
|
||||||
|
/v////////////////////////////////////////////////+y3f3/M6X6/yOX+f8akPj/GY73/xeN
|
||||||
|
9/8Vi/f/E4r3/xKI9/8ejvf/PJz4/0uj+P81juz/D2rW+wBczvsAW86XAF7QG////wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////AQBbzC0BXM/xIHve/XS9+/9bs/r/KZ35/yqe+f8sn/n/LaD6/y6h+v8vofr/L6L6/y+i
|
||||||
|
+v8nmvr/FYv3/7PZ/P///////////////////////////////////////////////////////////2+9
|
||||||
|
+/8qnfn/HJL5/xmP9/8Yjvf/Foz3/xSK9/8Siff/EIf2/w+G9v8djPf/PJv4/0mh+P8xi+r/DWfU+wBc
|
||||||
|
z/kAXM2RAFnTF////wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAF3MNwBdz/koguH9ecH7/1Wx+v8sn/r/LaD6/y6h
|
||||||
|
+v8vovr/MKP6/zGk+v8tofn/DYX3/2ey+f//////////////////////////////////////////////
|
||||||
|
///////////////////v+P//OaH5/yGV+P8akPj/GI73/xaN9/8Vi/f/E4n3/xGI9v8Phvb/DYT2/wuD
|
||||||
|
9v8civf/PJv3/0ef9/8viOn/C2bT+wBdzvcAXM6JAFnMFf///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAW85DAFzO/zuT
|
||||||
|
6f99xPv/MqL6/y+h+v8wo/r/MaT6/zKk+v8zpfr/EIf2/yKL9v/y+P7/////////////////////////
|
||||||
|
/////////////////////////////////////////////8Lh/f8aj/f/G5D4/xmP9/8Xjff/FYv3/xOK
|
||||||
|
9/8RiPf/EIb2/w6F9v8Mg/b/CoL2/wiA9f8bifb/Opn3/0Wd9v82i+n/CmTS+wBczv8AXM1t////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8BAF3PhQBczv9XqPL/esP8/y+h+v8wovr/MaT6/zKl+v80pvr/NKf6/wR89v8vkvf/Vab4/1Wm
|
||||||
|
+P9Vpvj/Vab4/5HF+////////////////////////////1qq+P9bq/n/XKz5/12t+f9ervn/II/3/xWM
|
||||||
|
9/8Zj/f/F433/xaM9/8Uivf/Eoj3/xCH9v8Ohfb/DIT2/wqC9v8IgPb/GIj2/zqZ9/9In/j/PpHt/w9p
|
||||||
|
1fsAXM7/AFzOjf///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8BAFzPewBczv9Qoe7/gMX7/0ar+/8vovr/MaP6/zKl+v80pvr/Naf7/zao
|
||||||
|
+/8nm/n/E4r3/xKJ9/8Siff/EYn2/wZ+9f9aqPn///////////////////////////8jl/n/EIb3/w2E
|
||||||
|
9v8NhPb/DYT2/w+H9v8aj/j/Go/3/xiO9/8WjPf/FIr3/xKJ9/8Qh/b/DoX2/wyE9v8di/f/QJz4/0+k
|
||||||
|
+P84j+z/EmvW+wBbzv8AXM6nAFnMKf///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAFvObQBczf9JnOz/g8b7/0ms+/8uofr/MKP6/zKk
|
||||||
|
+v8zpvr/Naf7/zeo+/84qvv/Oar7/zmq+/84qvv/N6n7/zao+/8Siff/Wqj5////////////////////
|
||||||
|
////////Nqn7/yOY+f8kmPn/Ipb4/yCV+P8ek/j/HJH4/xqQ9/8Yjvf/Foz3/xSL9/8Siff/EIf2/yKP
|
||||||
|
9/9FoPj/Vqj5/z2T7f8TbNb7AFvO/wBczqcAWcwp////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAFzNYQBczv9Dl+v/hcf8/06u
|
||||||
|
+v8toPr/LqH6/zCj+v8ypfr/NKb6/zao+/84qfv/Oav7/zqs+/87rPv/Oqv7/ziq+/83qPv/E4n4/1qo
|
||||||
|
+f///////////////////////////zmr+/8mmvn/JJj5/yKW+P8glfj/HpP4/xyR+P8akPj/GI73/xaM
|
||||||
|
9/8Ui/f/JpP4/0uk+P9crfn/Qpbt/xVu1/sAW87/AFzOpwBc0Sf///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAFzNVwBd
|
||||||
|
z/09kuj/h8f8/1Kw+v8rnvn/LaD6/y+i+v8xo/r/M6X6/zSn+v82qPv/OKr7/zqs+/88rfv/PK77/zus
|
||||||
|
+/85q/v/N6n7/xOJ+P9aqPn///////////////////////////84qfv/JZn5/ySY+f8il/j/IJX4/x6T
|
||||||
|
+P8ckvj/GpD4/xiO9/8Wjff/N5z4/2Kw+v9Gmu7/Fm7X+wBdz/0AXM6nAFzRJ////wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8BAFvNTQBczvs2jOb/iMf8/1ex+v8pnfn/K575/y2g+v8vovr/MaP6/zOl+v80p/r/Nqj7/ziq
|
||||||
|
+/86rPv/PK37/zyu+/87rPv/Oav7/zep+/8Tifj/Wqj5////////////////////////////NKX6/yOY
|
||||||
|
+P8kmPn/Ipf4/yCV+P8ek/j/HJL4/xqQ+P8Yjvf/Fo33/1ar+f86j+n/AFzO/wBczqcAXNEn////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8BAF3NQwBdz/kvh+P/h8b8/12z+/8nm/n/KZz5/yue+f8toPr/L6H6/zCj
|
||||||
|
+v8ypfr/NKb6/zao+/84qfv/Oav7/zqs+/87rPv/Oqv7/ziq+/83qPv/E4n4/1qo+f//////////////
|
||||||
|
/////////////y+i+v8jmPf/JJj5/yKW+P8glfj/HpP4/xyR+P8akPj/GI73/xaM9/9Kpvn/UqDv/wBc
|
||||||
|
zv8AXswf////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAFvNOQBdzvcoguD9icb7/4rI+/9Xsfr/S6z6/0Cn
|
||||||
|
+v81o/n/LZ/6/y6h+v8wo/r/MqT6/zOm+v81p/v/N6j7/ziq+/85qvv/Oar7/ziq+/83qfv/Nqj7/xKJ
|
||||||
|
9/9aqPn///////////////////////////8qnfn/IZf4/ySY+f8ilvj/IJX4/x6T+P8ckfj/GpD3/xiO
|
||||||
|
9/8WjPf/J5X4/2iz+f8Vbdb7AF3Oh////wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAFnMFQBczv8AXM7/P5Hn/2Sq
|
||||||
|
7/9osPP/eLz4/4jH+/+Myvz/jcv8/43L/P+Cxvz/dsL8/2u9+/9bt/v/Nqf6/zWn+/82qPv/N6n7/zep
|
||||||
|
+/83qPv/Nqj7/zSn+v8SiPf/Wqj5////////////////////////////Jpr5/yCV+P8jmPn/IZb4/x+U
|
||||||
|
+P8ek/j/HJH4/xqP9/8Yjvf/Foz3/xSK9/9ZrPn/Q5Pp/wBdz+8AbdsH////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBt
|
||||||
|
2wcAW86XAFzOtwFdz9UBXc7zAFzO/wBczv8AXM7/D2nT+SR62/s3iuP/SZrq/1uo7/9ttvT/i8v8/2u+
|
||||||
|
+/80pvr/Naf6/zWn+/81p/v/Naf7/zSm+v8zpfr/Eon3/zyZ9/+q0vz/qtL8/6rS/P+q0vz/qtL8/x+V
|
||||||
|
+f8ek/j/I5f4/yGV+P8flPj/HZL4/xuR+P8Zj/f/F433/xaM9/8Uivf/NJn4/2ex9/8JYtD/AFzOX///
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////AQBVzA8AXtAxAFvNUQBdzXEAW86RAF7PtQFe
|
||||||
|
0NkBXM73AFzO/0+k7/+DyPz/MqX6/zOl+v8zpfr/M6b6/zOl+v8ypfr/MaT6/yGW+f8CevX/AHn1/wB5
|
||||||
|
9f8AefX/AHn1/wB59f8Jgvb/IZX4/yKX+P8glfj/HpP4/x2S+P8bkPj/GY/3/xeN9/8Vi/f/E4r3/xSJ
|
||||||
|
9/9lsvn/M4bj/QBdzs3///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////AQBdzv1UpO7/fcX8/zCj+v8xpPr/MaT6/zGk+v8xpPr/MaP6/zCj
|
||||||
|
+v8vovr/LqH6/yyg+v8rnvn/KZ35/yic+f8mmvn/JZn5/yOX+P8hlvj/H5T4/x6T+P8ckfj/GpD4/xiO
|
||||||
|
9/8Wjff/FYv3/xOJ9/8RiPb/Q6D4/2Co8/8CXc7/AF3ONf///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////AQCA/wMAXM7/XKrx/3fC/P8vovr/L6L6/y+i
|
||||||
|
+v8vovr/L6L6/y+i+v8uofr/LaD6/yyf+v8rnvn/Kp35/yic+f8nm/n/JZn5/ySY+f8il/j/IJX4/zig
|
||||||
|
+f9fsvr/Wq/6/0Kj+P8ql/j/F4z3/xSK9/8Siff/EIf2/xuM9v9ttfr/JXfY+wBczqH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAVdUTAFzO/2Ov
|
||||||
|
8/9wvvz/LaD6/y2g+v8uofr/LqH6/y2h+v8toPr/LKD6/yyf+f8rnvn/Kp35/yic+f8nm/n/Jpr5/ySY
|
||||||
|
+f8jl/j/IZb4/ySX+P98wPv/Xqnx/12p8v92uvj/er76/3O5+v9arfn/QaD5/ymU9/8Sh/b/Uqf5/1Gd
|
||||||
|
7v8AXM/5AFnMFf///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8BAF3RIQBczv9rtPX/abv7/yue+f8rn/n/LJ/5/yyf+f8sn/n/LqH5/161+v9+w/v/arv7/yye
|
||||||
|
+f8nm/n/Jpr5/ySZ+f8jl/j/IZb4/yCV+P9BpPn/f8D5/whh0P8AXM7/AV3P/xlw2fk1iub/UaDv/2my
|
||||||
|
9/91ufr/cbf6/3G3+v9vtPn/EmrU+wBcz3X///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////AQBe0DEAXM7/crr3/2G2+/8pnfn/Kp35/yqd+f8qnfn/Qqj6/37E
|
||||||
|
+/+Fxfr/TJvq/4LD+v9ouPv/JZn5/ySY+f8jl/n/Ipb4/yCV+P8flPj/YrP6/2Go7v8AXc73AFjKHQBb
|
||||||
|
zVEAXM+PAF7PzwBdzv0AXM7/DmjV+SqB4v9Fluz/cLP2/0GQ5v8AXc/jAID/A////wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAXM9BAFzO/3i++f9as/r/J5v5/yic
|
||||||
|
+f8un/n/ZLj7/4zK/P9kq+//D2jS+wBczv8shOL9isj8/02r+v8jl/j/Ipb4/yCV+P8flPj/IZT4/4HC
|
||||||
|
+/85h+D9AFzOrf///wH///8B////Af///wEAXdELAF3NQwBbzn8AXc+/AFzO9wBczv8EX8//AFzO/wBd
|
||||||
|
z0v///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAF7PTwBc
|
||||||
|
zv9/w/v/Uq76/yaa+f9Fqfr/gcT8/3/A+P8yhOD9AF3P/QBdz48AXM9RAF3P/U6e7f+Gxvv/NJ/5/yCV
|
||||||
|
+P8flPj/HpP4/zuh+f+Ewvr/DWXS/QBczln///8B////Af///wH///8B////Af///wH///8B////AQBV
|
||||||
|
qgMAWs0zAFzPbwBczssAXM4v////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////AQBbz18BXc/9hcX7/1Sv+v9qufv/isj7/1ei7f8JY9H9AV3P1wBbzzX///8B////AQBb
|
||||||
|
zoMCXs/9bLT1/3i/+/8kl/j/HZP4/xyS+P9csPr/aKzw/wBczvsAVcwP////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wEAXc5vBGHS+YnH+/+Jx/v/d7n1/yZ52vsAXc/5AF3PeQBA
|
||||||
|
vwX///8B////Af///wEAVaoDAFzPxRBq1ft9wPr/YbP6/xyR+P8ckPj/fL/6/z2N4/0AXc+7////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAFvOfw1q1fmHxfr/V5/p/wVf
|
||||||
|
0P8BXc7DAFrPJf///wH///8B////Af///wH///8B////AQBYzhsBXs/tKYLh/YXE+/9Fpfn/M5z4/4PC
|
||||||
|
+v8TadP9AF3NZ////wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBc
|
||||||
|
zo0HYM//HHHX+wBdz/MAW85j////Af///wH///8B////Af///wH///8B////Af///wH///8BAF3NRwBb
|
||||||
|
zv9Km+z/gcL7/2m1+v9usfP/AFvO/wBgyhn///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wEAXM25AFzO/wBdz6sAWdMX////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wEAXM2FAl7P/Wex9f+Dwvv/RpPm/wBdz8v///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAFnMKQBdzUP///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAFWqAwBdz8cQa9X7gsD6/xlu1PsAXM91////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAXtAbAF3P7x1x
|
||||||
|
2P8AXM7/AFzNJf///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////AQBbzkkAXM7/AFzO/////wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAF3PjwBczT3///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>4, 2, 4, 2</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
|
||||||
|
<value>CenterParent</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Text" xml:space="preserve">
|
||||||
|
<value>Software Update</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>$this.Name" xml:space="preserve">
|
||||||
|
<value>DownloadUpdateDialog</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>$this.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
130
Mk0.Software.OnlineUpdater/Mk0.Software.OnlineUpdater.csproj
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="15.0" 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>{F59DCD1B-931C-4A49-9D55-DEAA229218F6}</ProjectGuid>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<RootNamespace>Mk0.Software.OnlineUpdater</RootNamespace>
|
||||||
|
<AssemblyName>OnlineUpdater</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||||
|
<Deterministic>true</Deterministic>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<StartupObject />
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.Xml.Linq" />
|
||||||
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
|
<Reference Include="Microsoft.CSharp" />
|
||||||
|
<Reference Include="System.Data" />
|
||||||
|
<Reference Include="System.Deployment" />
|
||||||
|
<Reference Include="System.Drawing" />
|
||||||
|
<Reference Include="System.Net.Http" />
|
||||||
|
<Reference Include="System.Windows.Forms" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="DownloadUpdateDialog.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="DownloadUpdateDialog.Designer.cs">
|
||||||
|
<DependentUpon>DownloadUpdateDialog.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="RemindLaterForm.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="RemindLaterForm.Designer.cs">
|
||||||
|
<DependentUpon>RemindLaterForm.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="UpdateForm.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="UpdateForm.Designer.cs">
|
||||||
|
<DependentUpon>UpdateForm.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="OnlineUpdater.cs" />
|
||||||
|
<Compile Include="Program.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<EmbeddedResource Include="DownloadUpdateDialog.resx">
|
||||||
|
<DependentUpon>DownloadUpdateDialog.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Properties\Resources.resx">
|
||||||
|
<Generator>ResXFileCodeGenerator</Generator>
|
||||||
|
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<Compile Include="Properties\Resources.Designer.cs">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DependentUpon>Resources.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
</Compile>
|
||||||
|
<EmbeddedResource Include="RemindLaterForm.resx">
|
||||||
|
<DependentUpon>RemindLaterForm.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="UpdateForm.resx">
|
||||||
|
<DependentUpon>UpdateForm.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<None Include="Properties\Settings.settings">
|
||||||
|
<Generator>SettingsSingleFileGenerator</Generator>
|
||||||
|
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||||
|
</None>
|
||||||
|
<Compile Include="Properties\Settings.Designer.cs">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DependentUpon>Settings.settings</DependentUpon>
|
||||||
|
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="App.config" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="Resources\update.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="Resources\clock_go.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="Resources\clock_go_32.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="Resources\clock_play.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="Resources\download.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="Resources\download_32.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="Resources\hand_point.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="Resources\Unzipper.exe" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
</Project>
|
914
Mk0.Software.OnlineUpdater/OnlineUpdater.cs
Normal file
@ -0,0 +1,914 @@
|
|||||||
|
using System;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Globalization;
|
||||||
|
using System.IO;
|
||||||
|
using System.Net;
|
||||||
|
using System.Net.Cache;
|
||||||
|
using System.Reflection;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using System.Xml;
|
||||||
|
using Mk0.Software.OnlineUpdater.Properties;
|
||||||
|
using Microsoft.Win32;
|
||||||
|
|
||||||
|
namespace Mk0.Software.OnlineUpdater
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Enum representing the remind later time span.
|
||||||
|
/// </summary>
|
||||||
|
public enum RemindLaterFormat
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Represents the time span in minutes.
|
||||||
|
/// </summary>
|
||||||
|
Minutes,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Represents the time span in hours.
|
||||||
|
/// </summary>
|
||||||
|
Hours,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Represents the time span in days.
|
||||||
|
/// </summary>
|
||||||
|
Days
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Enum representing the effect of Mandatory flag.
|
||||||
|
/// </summary>
|
||||||
|
public enum Mode
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// In this mode, it ignores Remind Later and Skip values set previously and hide both buttons.
|
||||||
|
/// </summary>
|
||||||
|
Normal,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// In this mode, it won't show close button in addition to Normal mode behaviour.
|
||||||
|
/// </summary>
|
||||||
|
Forced,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// In this mode, it will start downloading and applying update without showing standarad update dialog in addition to Forced mode behaviour.
|
||||||
|
/// </summary>
|
||||||
|
ForcedDownload
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Main class that lets you auto update applications by setting some static fields and executing its Start method.
|
||||||
|
/// </summary>
|
||||||
|
public static class AutoUpdater
|
||||||
|
{
|
||||||
|
private static System.Timers.Timer _remindLaterTimer;
|
||||||
|
|
||||||
|
internal static String ChangelogURL;
|
||||||
|
|
||||||
|
internal static String DownloadURL;
|
||||||
|
|
||||||
|
internal static String InstallerArgs;
|
||||||
|
|
||||||
|
internal static String RegistryLocation;
|
||||||
|
|
||||||
|
internal static String Checksum;
|
||||||
|
|
||||||
|
internal static String HashingAlgorithm;
|
||||||
|
|
||||||
|
internal static Version CurrentVersion;
|
||||||
|
|
||||||
|
internal static Version InstalledVersion;
|
||||||
|
|
||||||
|
internal static bool IsWinFormsApplication;
|
||||||
|
|
||||||
|
internal static bool Running;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Set it to folder path where you want to download the update file. If not provided then it defaults to Temp folder.
|
||||||
|
/// </summary>
|
||||||
|
public static String DownloadPath;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Set the Application Title shown in Update dialog. Although AutoUpdater.NET will get it automatically, you can set this property if you like to give custom Title.
|
||||||
|
/// </summary>
|
||||||
|
public static String AppTitle;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// URL of the xml file that contains information about latest version of the application.
|
||||||
|
/// </summary>
|
||||||
|
public static String AppCastURL;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Login/password/domain for FTP-request
|
||||||
|
/// </summary>
|
||||||
|
public static NetworkCredential FtpCredentials;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Opens the download URL in default browser if true. Very usefull if you have portable application.
|
||||||
|
/// </summary>
|
||||||
|
public static bool OpenDownloadPage;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Set Basic Authentication credentials required to download the file.
|
||||||
|
/// </summary>
|
||||||
|
public static IAuthentication BasicAuthDownload;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Set Basic Authentication credentials required to download the XML file.
|
||||||
|
/// </summary>
|
||||||
|
public static IAuthentication BasicAuthXML;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Set Basic Authentication credentials to navigate to the change log URL.
|
||||||
|
/// </summary>
|
||||||
|
public static IAuthentication BasicAuthChangeLog;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Set the User-Agent string to be used for HTTP web requests.
|
||||||
|
/// </summary>
|
||||||
|
public static string HttpUserAgent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// If this is true users can see the skip button.
|
||||||
|
/// </summary>
|
||||||
|
public static Boolean ShowSkipButton = true;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// If this is true users can see the Remind Later button.
|
||||||
|
/// </summary>
|
||||||
|
public static Boolean ShowRemindLaterButton = true;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// If this is true users see dialog where they can set remind later interval otherwise it will take the interval from
|
||||||
|
/// RemindLaterAt and RemindLaterTimeSpan fields.
|
||||||
|
/// </summary>
|
||||||
|
public static Boolean LetUserSelectRemindLater = true;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remind Later interval after user should be reminded of update.
|
||||||
|
/// </summary>
|
||||||
|
public static int RemindLaterAt = 2;
|
||||||
|
|
||||||
|
///<summary>
|
||||||
|
/// AutoUpdater.NET will report errors if this is true.
|
||||||
|
/// </summary>
|
||||||
|
public static bool ReportErrors = false;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Set this to false if your application doesn't need administrator privileges to replace the old version.
|
||||||
|
/// </summary>
|
||||||
|
public static bool RunUpdateAsAdmin = true;
|
||||||
|
|
||||||
|
///<summary>
|
||||||
|
/// Set this to true if you want to ignore previously assigned Remind Later and Skip settings. It will also hide Remind Later and Skip buttons.
|
||||||
|
/// </summary>
|
||||||
|
public static bool Mandatory;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Set this to any of the available modes to change behaviour of the Mandatory flag.
|
||||||
|
/// </summary>
|
||||||
|
public static Mode UpdateMode;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Set Proxy server to use for all the web requests in AutoUpdater.NET.
|
||||||
|
/// </summary>
|
||||||
|
public static IWebProxy Proxy;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Set if RemindLaterAt interval should be in Minutes, Hours or Days.
|
||||||
|
/// </summary>
|
||||||
|
public static RemindLaterFormat RemindLaterTimeSpan = RemindLaterFormat.Days;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A delegate type to handle how to exit the application after update is downloaded.
|
||||||
|
/// </summary>
|
||||||
|
public delegate void ApplicationExitEventHandler();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// An event that developers can use to exit the application gracefully.
|
||||||
|
/// </summary>
|
||||||
|
public static event ApplicationExitEventHandler ApplicationExitEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A delegate type for hooking up update notifications.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="args">An object containing all the parameters recieved from AppCast XML file. If there will be an error while looking for the XML file then this object will be null.</param>
|
||||||
|
public delegate void CheckForUpdateEventHandler(UpdateInfoEventArgs args);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// An event that clients can use to be notified whenever the update is checked.
|
||||||
|
/// </summary>
|
||||||
|
public static event CheckForUpdateEventHandler CheckForUpdateEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A delegate type for hooking up parsing logic.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="args">An object containing the AppCast file received from server.</param>
|
||||||
|
public delegate void ParseUpdateInfoHandler(ParseUpdateInfoEventArgs args);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// An event that clients can use to be notified whenever the AppCast file needs parsing.
|
||||||
|
/// </summary>
|
||||||
|
public static event ParseUpdateInfoHandler ParseUpdateInfoEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Set if you want the default update form to have a different size.
|
||||||
|
/// </summary>
|
||||||
|
public static Size? UpdateFormSize = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Start checking for new version of application and display dialog to the user if update is available.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="myAssembly">Assembly to use for version checking.</param>
|
||||||
|
public static void Start(Assembly myAssembly = null)
|
||||||
|
{
|
||||||
|
Start(AppCastURL, myAssembly);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Start checking for new version of application via FTP and display dialog to the user if update is available.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="appCast">FTP URL of the xml file that contains information about latest version of the application.</param>
|
||||||
|
/// <param name="ftpCredentials">Credentials required to connect to FTP server.</param>
|
||||||
|
/// <param name="myAssembly">Assembly to use for version checking.</param>
|
||||||
|
public static void Start(String appCast, NetworkCredential ftpCredentials, Assembly myAssembly = null)
|
||||||
|
{
|
||||||
|
FtpCredentials = ftpCredentials;
|
||||||
|
Start(appCast, myAssembly);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Start checking for new version of application and display dialog to the user if update is available.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="appCast">URL of the xml file that contains information about latest version of the application.</param>
|
||||||
|
/// <param name="myAssembly">Assembly to use for version checking.</param>
|
||||||
|
public static void Start(String appCast, Assembly myAssembly = null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
ServicePointManager.SecurityProtocol |= (SecurityProtocolType)192 |
|
||||||
|
(SecurityProtocolType)768 | (SecurityProtocolType)3072;
|
||||||
|
}
|
||||||
|
catch (NotSupportedException) { }
|
||||||
|
|
||||||
|
if (Mandatory && _remindLaterTimer != null)
|
||||||
|
{
|
||||||
|
_remindLaterTimer.Stop();
|
||||||
|
_remindLaterTimer.Close();
|
||||||
|
_remindLaterTimer = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!Running && _remindLaterTimer == null)
|
||||||
|
{
|
||||||
|
Running = true;
|
||||||
|
|
||||||
|
AppCastURL = appCast;
|
||||||
|
|
||||||
|
IsWinFormsApplication = Application.MessageLoop;
|
||||||
|
|
||||||
|
var backgroundWorker = new BackgroundWorker();
|
||||||
|
|
||||||
|
backgroundWorker.DoWork += BackgroundWorkerDoWork;
|
||||||
|
|
||||||
|
backgroundWorker.RunWorkerCompleted += BackgroundWorkerOnRunWorkerCompleted;
|
||||||
|
|
||||||
|
backgroundWorker.RunWorkerAsync(myAssembly ?? Assembly.GetEntryAssembly());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void BackgroundWorkerOnRunWorkerCompleted(object sender,
|
||||||
|
RunWorkerCompletedEventArgs runWorkerCompletedEventArgs)
|
||||||
|
{
|
||||||
|
if (!runWorkerCompletedEventArgs.Cancelled)
|
||||||
|
{
|
||||||
|
if (runWorkerCompletedEventArgs.Result is DateTime)
|
||||||
|
{
|
||||||
|
SetTimer((DateTime)runWorkerCompletedEventArgs.Result);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var args = runWorkerCompletedEventArgs.Result as UpdateInfoEventArgs;
|
||||||
|
if (CheckForUpdateEvent != null)
|
||||||
|
{
|
||||||
|
CheckForUpdateEvent(args);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (args != null)
|
||||||
|
{
|
||||||
|
if (args.IsUpdateAvailable)
|
||||||
|
{
|
||||||
|
if (!IsWinFormsApplication)
|
||||||
|
{
|
||||||
|
Application.EnableVisualStyles();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Mandatory && UpdateMode == Mode.ForcedDownload)
|
||||||
|
{
|
||||||
|
DownloadUpdate();
|
||||||
|
Exit();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (Thread.CurrentThread.GetApartmentState().Equals(ApartmentState.STA))
|
||||||
|
{
|
||||||
|
ShowUpdateForm();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Thread thread = new Thread(ShowUpdateForm);
|
||||||
|
thread.CurrentCulture = thread.CurrentUICulture = CultureInfo.CurrentCulture;
|
||||||
|
thread.SetApartmentState(ApartmentState.STA);
|
||||||
|
thread.Start();
|
||||||
|
thread.Join();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (ReportErrors)
|
||||||
|
{
|
||||||
|
MessageBox.Show(Resources.UpdateUnavailableMessage,
|
||||||
|
Resources.UpdateUnavailableCaption,
|
||||||
|
MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (ReportErrors)
|
||||||
|
{
|
||||||
|
MessageBox.Show(
|
||||||
|
Resources.UpdateCheckFailedMessage,
|
||||||
|
Resources.UpdateCheckFailedCaption, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Running = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Shows standard update dialog.
|
||||||
|
/// </summary>
|
||||||
|
public static void ShowUpdateForm()
|
||||||
|
{
|
||||||
|
var updateForm = new UpdateForm();
|
||||||
|
if (UpdateFormSize.HasValue)
|
||||||
|
{
|
||||||
|
updateForm.Size = UpdateFormSize.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (updateForm.ShowDialog().Equals(DialogResult.OK))
|
||||||
|
{
|
||||||
|
Exit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void BackgroundWorkerDoWork(object sender, DoWorkEventArgs e)
|
||||||
|
{
|
||||||
|
e.Cancel = true;
|
||||||
|
Assembly mainAssembly = e.Argument as Assembly;
|
||||||
|
|
||||||
|
var companyAttribute =
|
||||||
|
(AssemblyCompanyAttribute)GetAttribute(mainAssembly, typeof(AssemblyCompanyAttribute));
|
||||||
|
if (string.IsNullOrEmpty(AppTitle))
|
||||||
|
{
|
||||||
|
var titleAttribute =
|
||||||
|
(AssemblyTitleAttribute)GetAttribute(mainAssembly, typeof(AssemblyTitleAttribute));
|
||||||
|
AppTitle = titleAttribute != null ? titleAttribute.Title : mainAssembly.GetName().Name;
|
||||||
|
}
|
||||||
|
|
||||||
|
string appCompany = companyAttribute != null ? companyAttribute.Company : "";
|
||||||
|
|
||||||
|
RegistryLocation = !string.IsNullOrEmpty(appCompany)
|
||||||
|
? $@"Software\{appCompany}\{AppTitle}\AutoUpdater"
|
||||||
|
: $@"Software\{AppTitle}\AutoUpdater";
|
||||||
|
|
||||||
|
InstalledVersion = mainAssembly.GetName().Version;
|
||||||
|
|
||||||
|
WebRequest webRequest = WebRequest.Create(AppCastURL);
|
||||||
|
|
||||||
|
webRequest.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore);
|
||||||
|
|
||||||
|
if (Proxy != null)
|
||||||
|
{
|
||||||
|
webRequest.Proxy = Proxy;
|
||||||
|
}
|
||||||
|
|
||||||
|
var uri = new Uri(AppCastURL);
|
||||||
|
|
||||||
|
WebResponse webResponse;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (uri.Scheme.Equals(Uri.UriSchemeFtp))
|
||||||
|
{
|
||||||
|
var ftpWebRequest = (FtpWebRequest)webRequest;
|
||||||
|
ftpWebRequest.Credentials = FtpCredentials;
|
||||||
|
ftpWebRequest.UseBinary = true;
|
||||||
|
ftpWebRequest.UsePassive = true;
|
||||||
|
ftpWebRequest.KeepAlive = true;
|
||||||
|
ftpWebRequest.Method = WebRequestMethods.Ftp.DownloadFile;
|
||||||
|
|
||||||
|
webResponse = ftpWebRequest.GetResponse();
|
||||||
|
}
|
||||||
|
else if (uri.Scheme.Equals(Uri.UriSchemeHttp) || uri.Scheme.Equals(Uri.UriSchemeHttps))
|
||||||
|
{
|
||||||
|
HttpWebRequest httpWebRequest = (HttpWebRequest)webRequest;
|
||||||
|
|
||||||
|
httpWebRequest.UserAgent = GetUserAgent();
|
||||||
|
|
||||||
|
if (BasicAuthXML != null)
|
||||||
|
{
|
||||||
|
httpWebRequest.Headers[HttpRequestHeader.Authorization] = BasicAuthXML.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
webResponse = httpWebRequest.GetResponse();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
webResponse = webRequest.GetResponse();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
Debug.WriteLine(exception);
|
||||||
|
e.Cancel = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
UpdateInfoEventArgs args;
|
||||||
|
|
||||||
|
using (Stream appCastStream = webResponse.GetResponseStream())
|
||||||
|
{
|
||||||
|
if (appCastStream != null)
|
||||||
|
{
|
||||||
|
if (ParseUpdateInfoEvent != null)
|
||||||
|
{
|
||||||
|
using (StreamReader streamReader = new StreamReader(appCastStream))
|
||||||
|
{
|
||||||
|
string data = streamReader.ReadToEnd();
|
||||||
|
ParseUpdateInfoEventArgs parseArgs = new ParseUpdateInfoEventArgs(data);
|
||||||
|
ParseUpdateInfoEvent(parseArgs);
|
||||||
|
args = parseArgs.UpdateInfo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
XmlDocument receivedAppCastDocument = new XmlDocument { XmlResolver = null };
|
||||||
|
try
|
||||||
|
{
|
||||||
|
receivedAppCastDocument.Load(appCastStream);
|
||||||
|
|
||||||
|
XmlNodeList appCastItems = receivedAppCastDocument.SelectNodes("item");
|
||||||
|
|
||||||
|
args = new UpdateInfoEventArgs();
|
||||||
|
|
||||||
|
if (appCastItems != null)
|
||||||
|
{
|
||||||
|
foreach (XmlNode item in appCastItems)
|
||||||
|
{
|
||||||
|
XmlNode appCastVersion = item.SelectSingleNode("version");
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
CurrentVersion = new Version(appCastVersion?.InnerText);
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
CurrentVersion = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
args.CurrentVersion = CurrentVersion;
|
||||||
|
|
||||||
|
XmlNode appCastChangeLog = item.SelectSingleNode("changelog");
|
||||||
|
|
||||||
|
args.ChangelogURL = appCastChangeLog?.InnerText;
|
||||||
|
|
||||||
|
XmlNode appCastUrl = item.SelectSingleNode("url");
|
||||||
|
|
||||||
|
args.DownloadURL = appCastUrl?.InnerText;
|
||||||
|
|
||||||
|
if (Mandatory.Equals(false))
|
||||||
|
{
|
||||||
|
XmlNode mandatory = item.SelectSingleNode("mandatory");
|
||||||
|
|
||||||
|
Boolean.TryParse(mandatory?.InnerText, out Mandatory);
|
||||||
|
|
||||||
|
string mode = mandatory?.Attributes["mode"]?.InnerText;
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(mode))
|
||||||
|
{
|
||||||
|
UpdateMode = (Mode)Enum.Parse(typeof(Mode), mode);
|
||||||
|
if (ReportErrors && !Enum.IsDefined(typeof(Mode), UpdateMode))
|
||||||
|
{
|
||||||
|
throw new InvalidDataException(
|
||||||
|
$"{UpdateMode} is not an underlying value of the Mode enumeration.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
args.Mandatory = Mandatory;
|
||||||
|
args.UpdateMode = UpdateMode;
|
||||||
|
|
||||||
|
XmlNode appArgs = item.SelectSingleNode("args");
|
||||||
|
|
||||||
|
args.InstallerArgs = appArgs?.InnerText;
|
||||||
|
|
||||||
|
XmlNode checksum = item.SelectSingleNode("checksum");
|
||||||
|
|
||||||
|
args.HashingAlgorithm = checksum?.Attributes["algorithm"]?.InnerText;
|
||||||
|
|
||||||
|
args.Checksum = checksum?.InnerText;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
e.Cancel = false;
|
||||||
|
webResponse.Close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
e.Cancel = false;
|
||||||
|
webResponse.Close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args.CurrentVersion == null || string.IsNullOrEmpty(args.DownloadURL))
|
||||||
|
{
|
||||||
|
webResponse.Close();
|
||||||
|
if (ReportErrors)
|
||||||
|
{
|
||||||
|
throw new InvalidDataException();
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
CurrentVersion = args.CurrentVersion;
|
||||||
|
ChangelogURL = args.ChangelogURL = GetURL(webResponse.ResponseUri, args.ChangelogURL);
|
||||||
|
DownloadURL = args.DownloadURL = GetURL(webResponse.ResponseUri, args.DownloadURL);
|
||||||
|
InstallerArgs = args.InstallerArgs ?? String.Empty;
|
||||||
|
HashingAlgorithm = args.HashingAlgorithm ?? "MD5";
|
||||||
|
Checksum = args.Checksum ?? String.Empty;
|
||||||
|
|
||||||
|
webResponse.Close();
|
||||||
|
|
||||||
|
if (Mandatory)
|
||||||
|
{
|
||||||
|
ShowRemindLaterButton = false;
|
||||||
|
ShowSkipButton = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
using (RegistryKey updateKey = Registry.CurrentUser.OpenSubKey(RegistryLocation))
|
||||||
|
{
|
||||||
|
if (updateKey != null)
|
||||||
|
{
|
||||||
|
object skip = updateKey.GetValue("skip");
|
||||||
|
object applicationVersion = updateKey.GetValue("version");
|
||||||
|
if (skip != null && applicationVersion != null)
|
||||||
|
{
|
||||||
|
string skipValue = skip.ToString();
|
||||||
|
var skipVersion = new Version(applicationVersion.ToString());
|
||||||
|
if (skipValue.Equals("1") && CurrentVersion <= skipVersion)
|
||||||
|
return;
|
||||||
|
if (CurrentVersion > skipVersion)
|
||||||
|
{
|
||||||
|
using (RegistryKey updateKeyWrite = Registry.CurrentUser.CreateSubKey(RegistryLocation))
|
||||||
|
{
|
||||||
|
if (updateKeyWrite != null)
|
||||||
|
{
|
||||||
|
updateKeyWrite.SetValue("version", CurrentVersion.ToString());
|
||||||
|
updateKeyWrite.SetValue("skip", 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
object remindLaterTime = updateKey.GetValue("remindlater");
|
||||||
|
|
||||||
|
if (remindLaterTime != null)
|
||||||
|
{
|
||||||
|
DateTime remindLater = Convert.ToDateTime(remindLaterTime.ToString(),
|
||||||
|
CultureInfo.CreateSpecificCulture("en-US").DateTimeFormat);
|
||||||
|
|
||||||
|
int compareResult = DateTime.Compare(DateTime.Now, remindLater);
|
||||||
|
|
||||||
|
if (compareResult < 0)
|
||||||
|
{
|
||||||
|
e.Cancel = false;
|
||||||
|
e.Result = remindLater;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
args.IsUpdateAvailable = CurrentVersion > InstalledVersion;
|
||||||
|
args.InstalledVersion = InstalledVersion;
|
||||||
|
|
||||||
|
e.Cancel = false;
|
||||||
|
e.Result = args;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static string GetURL(Uri baseUri, String url)
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(url) && Uri.IsWellFormedUriString(url, UriKind.Relative))
|
||||||
|
{
|
||||||
|
Uri uri = new Uri(baseUri, url);
|
||||||
|
|
||||||
|
if (uri.IsAbsoluteUri)
|
||||||
|
{
|
||||||
|
url = uri.AbsoluteUri;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return url;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Detects and exits all instances of running assembly, including current.
|
||||||
|
/// </summary>
|
||||||
|
private static void Exit()
|
||||||
|
{
|
||||||
|
if (ApplicationExitEvent != null)
|
||||||
|
{
|
||||||
|
ApplicationExitEvent();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var currentProcess = Process.GetCurrentProcess();
|
||||||
|
foreach (var process in Process.GetProcessesByName(currentProcess.ProcessName))
|
||||||
|
{
|
||||||
|
string processPath;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
processPath = process.MainModule.FileName;
|
||||||
|
}
|
||||||
|
catch (Win32Exception)
|
||||||
|
{
|
||||||
|
// Current process should be same as processes created by other instances of the application so it should be able to access modules of other instances.
|
||||||
|
// This means this is not the process we are looking for so we can safely skip this.
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (process.Id != currentProcess.Id &&
|
||||||
|
currentProcess.MainModule.FileName == processPath
|
||||||
|
) //get all instances of assembly except current
|
||||||
|
{
|
||||||
|
if (process.CloseMainWindow())
|
||||||
|
{
|
||||||
|
process.WaitForExit((int)TimeSpan.FromSeconds(10)
|
||||||
|
.TotalMilliseconds); //give some time to process message
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!process.HasExited)
|
||||||
|
{
|
||||||
|
process.Kill(); //TODO show UI message asking user to close program himself instead of silently killing it
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (IsWinFormsApplication)
|
||||||
|
{
|
||||||
|
MethodInvoker methodInvoker = Application.Exit;
|
||||||
|
methodInvoker.Invoke();
|
||||||
|
}
|
||||||
|
#if NETWPF
|
||||||
|
else if (System.Windows.Application.Current != null)
|
||||||
|
{
|
||||||
|
System.Windows.Application.Current.Dispatcher.BeginInvoke(new Action(() =>
|
||||||
|
System.Windows.Application.Current.Shutdown()));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Environment.Exit(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Attribute GetAttribute(Assembly assembly, Type attributeType)
|
||||||
|
{
|
||||||
|
object[] attributes = assembly.GetCustomAttributes(attributeType, false);
|
||||||
|
if (attributes.Length == 0)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (Attribute)attributes[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
internal static string GetUserAgent()
|
||||||
|
{
|
||||||
|
return string.IsNullOrEmpty(HttpUserAgent) ? $"AutoUpdater.NET" : HttpUserAgent;
|
||||||
|
}
|
||||||
|
|
||||||
|
internal static void SetTimer(DateTime remindLater)
|
||||||
|
{
|
||||||
|
TimeSpan timeSpan = remindLater - DateTime.Now;
|
||||||
|
|
||||||
|
var context = SynchronizationContext.Current;
|
||||||
|
|
||||||
|
_remindLaterTimer = new System.Timers.Timer
|
||||||
|
{
|
||||||
|
Interval = (int)timeSpan.TotalMilliseconds,
|
||||||
|
AutoReset = false
|
||||||
|
};
|
||||||
|
|
||||||
|
_remindLaterTimer.Elapsed += delegate
|
||||||
|
{
|
||||||
|
_remindLaterTimer = null;
|
||||||
|
if (context != null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
context.Send(state => Start(), null);
|
||||||
|
}
|
||||||
|
catch (InvalidAsynchronousStateException)
|
||||||
|
{
|
||||||
|
Start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Start();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
_remindLaterTimer.Start();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Opens the Download window that download the update and execute the installer when download completes.
|
||||||
|
/// </summary>
|
||||||
|
public static bool DownloadUpdate()
|
||||||
|
{
|
||||||
|
var downloadDialog = new DownloadUpdateDialog(DownloadURL);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return downloadDialog.ShowDialog().Equals(DialogResult.OK);
|
||||||
|
}
|
||||||
|
catch (TargetInvocationException)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Object of this class gives you all the details about the update useful in handling the update logic yourself.
|
||||||
|
/// </summary>
|
||||||
|
public class UpdateInfoEventArgs : EventArgs
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// If new update is available then returns true otherwise false.
|
||||||
|
/// </summary>
|
||||||
|
public bool IsUpdateAvailable { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Download URL of the update file.
|
||||||
|
/// </summary>
|
||||||
|
public string DownloadURL { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// URL of the webpage specifying changes in the new update.
|
||||||
|
/// </summary>
|
||||||
|
public string ChangelogURL { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns newest version of the application available to download.
|
||||||
|
/// </summary>
|
||||||
|
public Version CurrentVersion { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns version of the application currently installed on the user's PC.
|
||||||
|
/// </summary>
|
||||||
|
public Version InstalledVersion { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Shows if the update is required or optional.
|
||||||
|
/// </summary>
|
||||||
|
public bool Mandatory { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Defines how the Mandatory flag should work.
|
||||||
|
/// </summary>
|
||||||
|
public Mode UpdateMode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Command line arguments used by Installer.
|
||||||
|
/// </summary>
|
||||||
|
public string InstallerArgs { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Checksum of the update file.
|
||||||
|
/// </summary>
|
||||||
|
public string Checksum { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Hash algorithm that generated the checksum provided in the XML file.
|
||||||
|
/// </summary>
|
||||||
|
public string HashingAlgorithm { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// An object of this class contains the AppCast file received from server.
|
||||||
|
/// </summary>
|
||||||
|
public class ParseUpdateInfoEventArgs : EventArgs
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Remote data received from the AppCast file.
|
||||||
|
/// </summary>
|
||||||
|
public string RemoteData { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Set this object with values received from the AppCast file.
|
||||||
|
/// </summary>
|
||||||
|
public UpdateInfoEventArgs UpdateInfo { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// An object containing the AppCast file received from server.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="remoteData">A string containing remote data received from the AppCast file.</param>
|
||||||
|
public ParseUpdateInfoEventArgs(string remoteData)
|
||||||
|
{
|
||||||
|
RemoteData = remoteData;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Interface for authentication
|
||||||
|
/// </summary>
|
||||||
|
public interface IAuthentication
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Provides Basic Authentication header for web request.
|
||||||
|
/// </summary>
|
||||||
|
public class BasicAuthentication : IAuthentication
|
||||||
|
{
|
||||||
|
private string Username { get; }
|
||||||
|
|
||||||
|
private string Password { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes credentials for Basic Authentication.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="username">Username to use for Basic Authentication</param>
|
||||||
|
/// <param name="password">Password to use for Basic Authentication</param>
|
||||||
|
public BasicAuthentication(string username, string password)
|
||||||
|
{
|
||||||
|
Username = username;
|
||||||
|
Password = password;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
var token = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{Username}:{Password}"));
|
||||||
|
return $"Basic {token}";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Provides Custom Authentication header for web request.
|
||||||
|
/// </summary>
|
||||||
|
public class CustomAuthentication : IAuthentication
|
||||||
|
{
|
||||||
|
private string HttpRequestHeaderAuthorizationValue { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes authorization header value for Custom Authentication
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="httpRequestHeaderAuthorizationValue">Value to use as http request header authorization value</param>
|
||||||
|
public CustomAuthentication(string httpRequestHeaderAuthorizationValue)
|
||||||
|
{
|
||||||
|
HttpRequestHeaderAuthorizationValue = httpRequestHeaderAuthorizationValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
return HttpRequestHeaderAuthorizationValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
22
Mk0.Software.OnlineUpdater/Program.cs
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace Mk0.Software.OnlineUpdater
|
||||||
|
{
|
||||||
|
static class Program
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Der Haupteinstiegspunkt für die Anwendung.
|
||||||
|
/// </summary>
|
||||||
|
[STAThread]
|
||||||
|
static void Main()
|
||||||
|
{
|
||||||
|
Application.EnableVisualStyles();
|
||||||
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
|
Application.Run(new UpdateForm());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
36
Mk0.Software.OnlineUpdater/Properties/AssemblyInfo.cs
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
// Allgemeine Informationen über eine Assembly werden über die folgenden
|
||||||
|
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
|
||||||
|
// die einer Assembly zugeordnet sind.
|
||||||
|
[assembly: AssemblyTitle("OnlineUpdater")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("mk0.at")]
|
||||||
|
[assembly: AssemblyProduct("OnlineUpdater")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright © 2019-2020 by mk0.at")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
|
||||||
|
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
|
||||||
|
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
|
||||||
|
[assembly: Guid("f59dcd1b-931c-4a49-9d55-deaa229218f6")]
|
||||||
|
|
||||||
|
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
|
||||||
|
//
|
||||||
|
// Hauptversion
|
||||||
|
// Nebenversion
|
||||||
|
// Buildnummer
|
||||||
|
// Revision
|
||||||
|
//
|
||||||
|
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
||||||
|
// indem Sie "*" wie unten gezeigt eingeben:
|
||||||
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
|
[assembly: AssemblyVersion("1.0.0.0")]
|
||||||
|
[assembly: AssemblyFileVersion("1.0.0.0")]
|
224
Mk0.Software.OnlineUpdater/Properties/Resources.Designer.cs
generated
Normal file
@ -0,0 +1,224 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Dieser Code wurde von einem Tool generiert.
|
||||||
|
// Laufzeitversion:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||||
|
// der Code erneut generiert wird.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace Mk0.Software.OnlineUpdater.Properties {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
|
||||||
|
/// </summary>
|
||||||
|
// Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
|
||||||
|
// -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
|
||||||
|
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
|
||||||
|
// mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
internal class Resources {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal Resources() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Mk0.Software.OnlineUpdater.Properties.Resources", typeof(Resources).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
|
||||||
|
/// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
internal static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap clock_go {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("clock_go", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap clock_go_32 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("clock_go_32", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap clock_play {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("clock_play", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap download {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("download", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap download_32 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("download_32", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Zeichenfolge, die Herunterladen bei {0}/s ähnelt.
|
||||||
|
/// </summary>
|
||||||
|
internal static string DownloadSpeedMessage {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("DownloadSpeedMessage", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Zeichenfolge, die Checksumme ist unterschiedlich ähnelt.
|
||||||
|
/// </summary>
|
||||||
|
internal static string FileIntegrityCheckFailedCaption {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("FileIntegrityCheckFailedCaption", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Zeichenfolge, die Die Dateiintegritätsprüfung ist fehlgeschlagen und hat einige Fehler gemeldet. ähnelt.
|
||||||
|
/// </summary>
|
||||||
|
internal static string FileIntegrityCheckFailedMessage {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("FileIntegrityCheckFailedMessage", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap hand_point {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("hand_point", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Zeichenfolge, die Nicht unterstützter Hash-Algorithmus ähnelt.
|
||||||
|
/// </summary>
|
||||||
|
internal static string HashAlgorithmNotSupportedCaption {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("HashAlgorithmNotSupportedCaption", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Zeichenfolge, die Der in der XML-Datei enthaltene Hash-Algorithmus wird nicht unterstützt. ähnelt.
|
||||||
|
/// </summary>
|
||||||
|
internal static string HashAlgorithmNotSupportedMessage {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("HashAlgorithmNotSupportedMessage", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
internal static byte[] Unzipper {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("Unzipper", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap update {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("update", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Zeichenfolge, die Update Check fehlgeschlagen ähnelt.
|
||||||
|
/// </summary>
|
||||||
|
internal static string UpdateCheckFailedCaption {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("UpdateCheckFailedCaption", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Zeichenfolge, die Es gibt ein Problem beim Erreichen des Aktualisierungsservers. Bitte überprüfen Sie Ihre Internetverbindung und versuchen Sie es später noch einmal. ähnelt.
|
||||||
|
/// </summary>
|
||||||
|
internal static string UpdateCheckFailedMessage {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("UpdateCheckFailedMessage", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Zeichenfolge, die Update nicht verfügbar ähnelt.
|
||||||
|
/// </summary>
|
||||||
|
internal static string UpdateUnavailableCaption {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("UpdateUnavailableCaption", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Zeichenfolge, die Es ist kein Update vorhanden. Bitte versuchen Sie es später noch einmal. ähnelt.
|
||||||
|
/// </summary>
|
||||||
|
internal static string UpdateUnavailableMessage {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("UpdateUnavailableMessage", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
172
Mk0.Software.OnlineUpdater/Properties/Resources.resx
Normal file
@ -0,0 +1,172 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="clock_go" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\clock_go.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="clock_go_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\clock_go_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="clock_play" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\clock_play.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="download" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\download.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="DownloadSpeedMessage" xml:space="preserve">
|
||||||
|
<value>Herunterladen bei {0}/s</value>
|
||||||
|
</data>
|
||||||
|
<data name="download_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\download_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="FileIntegrityCheckFailedCaption" xml:space="preserve">
|
||||||
|
<value>Checksumme ist unterschiedlich</value>
|
||||||
|
</data>
|
||||||
|
<data name="FileIntegrityCheckFailedMessage" xml:space="preserve">
|
||||||
|
<value>Die Dateiintegritätsprüfung ist fehlgeschlagen und hat einige Fehler gemeldet.</value>
|
||||||
|
</data>
|
||||||
|
<data name="hand_point" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\hand_point.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="HashAlgorithmNotSupportedCaption" xml:space="preserve">
|
||||||
|
<value>Nicht unterstützter Hash-Algorithmus</value>
|
||||||
|
</data>
|
||||||
|
<data name="HashAlgorithmNotSupportedMessage" xml:space="preserve">
|
||||||
|
<value>Der in der XML-Datei enthaltene Hash-Algorithmus wird nicht unterstützt.</value>
|
||||||
|
</data>
|
||||||
|
<data name="Unzipper" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\Unzipper.exe;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="update" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\update.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="UpdateCheckFailedCaption" xml:space="preserve">
|
||||||
|
<value>Update Check fehlgeschlagen</value>
|
||||||
|
</data>
|
||||||
|
<data name="UpdateCheckFailedMessage" xml:space="preserve">
|
||||||
|
<value>Es gibt ein Problem beim Erreichen des Aktualisierungsservers. Bitte überprüfen Sie Ihre Internetverbindung und versuchen Sie es später noch einmal.</value>
|
||||||
|
</data>
|
||||||
|
<data name="UpdateUnavailableCaption" xml:space="preserve">
|
||||||
|
<value>Update nicht verfügbar</value>
|
||||||
|
</data>
|
||||||
|
<data name="UpdateUnavailableMessage" xml:space="preserve">
|
||||||
|
<value>Es ist kein Update vorhanden. Bitte versuchen Sie es später noch einmal.</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
30
Mk0.Software.OnlineUpdater/Properties/Settings.Designer.cs
generated
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
// Runtime Version:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace Mk0.Software.OnlineUpdater.Properties
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
|
||||||
|
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
|
||||||
|
{
|
||||||
|
|
||||||
|
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||||
|
|
||||||
|
public static Settings Default
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return defaultInstance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
7
Mk0.Software.OnlineUpdater/Properties/Settings.settings
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version='1.0' encoding='utf-8'?>
|
||||||
|
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
|
||||||
|
<Profiles>
|
||||||
|
<Profile Name="(Default)" />
|
||||||
|
</Profiles>
|
||||||
|
<Settings />
|
||||||
|
</SettingsFile>
|
146
Mk0.Software.OnlineUpdater/RemindLaterForm.Designer.cs
generated
Normal file
@ -0,0 +1,146 @@
|
|||||||
|
namespace Mk0.Software.OnlineUpdater
|
||||||
|
{
|
||||||
|
partial class RemindLaterForm
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RemindLaterForm));
|
||||||
|
this.labelTitle = new System.Windows.Forms.Label();
|
||||||
|
this.pictureBoxIcon = new System.Windows.Forms.PictureBox();
|
||||||
|
this.labelDescription = new System.Windows.Forms.Label();
|
||||||
|
this.radioButtonYes = new System.Windows.Forms.RadioButton();
|
||||||
|
this.radioButtonNo = new System.Windows.Forms.RadioButton();
|
||||||
|
this.comboBoxRemindLater = new System.Windows.Forms.ComboBox();
|
||||||
|
this.buttonOK = new System.Windows.Forms.Button();
|
||||||
|
this.tableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.pictureBoxIcon)).BeginInit();
|
||||||
|
this.tableLayoutPanel.SuspendLayout();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// labelTitle
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labelTitle, "labelTitle");
|
||||||
|
this.tableLayoutPanel.SetColumnSpan(this.labelTitle, 2);
|
||||||
|
this.labelTitle.Name = "labelTitle";
|
||||||
|
//
|
||||||
|
// pictureBoxIcon
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.pictureBoxIcon, "pictureBoxIcon");
|
||||||
|
this.pictureBoxIcon.Image = Properties.Resources.clock_go_32;
|
||||||
|
this.pictureBoxIcon.Name = "pictureBoxIcon";
|
||||||
|
this.tableLayoutPanel.SetRowSpan(this.pictureBoxIcon, 2);
|
||||||
|
this.pictureBoxIcon.TabStop = false;
|
||||||
|
//
|
||||||
|
// labelDescription
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labelDescription, "labelDescription");
|
||||||
|
this.tableLayoutPanel.SetColumnSpan(this.labelDescription, 2);
|
||||||
|
this.labelDescription.Name = "labelDescription";
|
||||||
|
//
|
||||||
|
// radioButtonYes
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.radioButtonYes, "radioButtonYes");
|
||||||
|
this.radioButtonYes.Checked = true;
|
||||||
|
this.radioButtonYes.Name = "radioButtonYes";
|
||||||
|
this.radioButtonYes.TabStop = true;
|
||||||
|
this.radioButtonYes.UseVisualStyleBackColor = true;
|
||||||
|
this.radioButtonYes.CheckedChanged += new System.EventHandler(this.RadioButtonYesCheckedChanged);
|
||||||
|
//
|
||||||
|
// radioButtonNo
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.radioButtonNo, "radioButtonNo");
|
||||||
|
this.tableLayoutPanel.SetColumnSpan(this.radioButtonNo, 2);
|
||||||
|
this.radioButtonNo.Name = "radioButtonNo";
|
||||||
|
this.radioButtonNo.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// comboBoxRemindLater
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.comboBoxRemindLater, "comboBoxRemindLater");
|
||||||
|
this.comboBoxRemindLater.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.comboBoxRemindLater.FormattingEnabled = true;
|
||||||
|
this.comboBoxRemindLater.Items.AddRange(new object[] {
|
||||||
|
resources.GetString("comboBoxRemindLater.Items"),
|
||||||
|
resources.GetString("comboBoxRemindLater.Items1"),
|
||||||
|
resources.GetString("comboBoxRemindLater.Items2"),
|
||||||
|
resources.GetString("comboBoxRemindLater.Items3"),
|
||||||
|
resources.GetString("comboBoxRemindLater.Items4"),
|
||||||
|
resources.GetString("comboBoxRemindLater.Items5"),
|
||||||
|
resources.GetString("comboBoxRemindLater.Items6")});
|
||||||
|
this.comboBoxRemindLater.Name = "comboBoxRemindLater";
|
||||||
|
//
|
||||||
|
// buttonOK
|
||||||
|
//
|
||||||
|
this.buttonOK.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||||
|
resources.ApplyResources(this.buttonOK, "buttonOK");
|
||||||
|
this.buttonOK.Image = Properties.Resources.clock_play;
|
||||||
|
this.buttonOK.Name = "buttonOK";
|
||||||
|
this.buttonOK.UseVisualStyleBackColor = true;
|
||||||
|
this.buttonOK.Click += new System.EventHandler(this.ButtonOkClick);
|
||||||
|
//
|
||||||
|
// tableLayoutPanel
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.tableLayoutPanel, "tableLayoutPanel");
|
||||||
|
this.tableLayoutPanel.Controls.Add(this.pictureBoxIcon, 0, 0);
|
||||||
|
this.tableLayoutPanel.Controls.Add(this.labelTitle, 1, 0);
|
||||||
|
this.tableLayoutPanel.Controls.Add(this.radioButtonNo, 1, 3);
|
||||||
|
this.tableLayoutPanel.Controls.Add(this.comboBoxRemindLater, 2, 2);
|
||||||
|
this.tableLayoutPanel.Controls.Add(this.radioButtonYes, 1, 2);
|
||||||
|
this.tableLayoutPanel.Controls.Add(this.labelDescription, 1, 1);
|
||||||
|
this.tableLayoutPanel.Controls.Add(this.buttonOK, 2, 4);
|
||||||
|
this.tableLayoutPanel.Name = "tableLayoutPanel";
|
||||||
|
//
|
||||||
|
// RemindLaterForm
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this, "$this");
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.Controls.Add(this.tableLayoutPanel);
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||||
|
this.MaximizeBox = false;
|
||||||
|
this.MinimizeBox = false;
|
||||||
|
this.Name = "RemindLaterForm";
|
||||||
|
this.ShowIcon = false;
|
||||||
|
this.ShowInTaskbar = false;
|
||||||
|
this.Load += new System.EventHandler(this.RemindLaterFormLoad);
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.pictureBoxIcon)).EndInit();
|
||||||
|
this.tableLayoutPanel.ResumeLayout(false);
|
||||||
|
this.tableLayoutPanel.PerformLayout();
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.Label labelTitle;
|
||||||
|
private System.Windows.Forms.PictureBox pictureBoxIcon;
|
||||||
|
private System.Windows.Forms.Label labelDescription;
|
||||||
|
private System.Windows.Forms.RadioButton radioButtonYes;
|
||||||
|
private System.Windows.Forms.RadioButton radioButtonNo;
|
||||||
|
private System.Windows.Forms.ComboBox comboBoxRemindLater;
|
||||||
|
private System.Windows.Forms.Button buttonOK;
|
||||||
|
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel;
|
||||||
|
}
|
||||||
|
}
|
72
Mk0.Software.OnlineUpdater/RemindLaterForm.cs
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
using System;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace Mk0.Software.OnlineUpdater
|
||||||
|
{
|
||||||
|
internal partial class RemindLaterForm : Form
|
||||||
|
{
|
||||||
|
public RemindLaterFormat RemindLaterFormat { get; private set; }
|
||||||
|
|
||||||
|
public int RemindLaterAt { get; private set; }
|
||||||
|
|
||||||
|
public RemindLaterForm()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RemindLaterFormLoad(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
comboBoxRemindLater.SelectedIndex = 0;
|
||||||
|
radioButtonYes.Checked = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonOkClick(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (radioButtonYes.Checked)
|
||||||
|
{
|
||||||
|
switch (comboBoxRemindLater.SelectedIndex)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
RemindLaterFormat = RemindLaterFormat.Minutes;
|
||||||
|
RemindLaterAt = 30;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
RemindLaterFormat = RemindLaterFormat.Hours;
|
||||||
|
RemindLaterAt = 12;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
RemindLaterFormat = RemindLaterFormat.Days;
|
||||||
|
RemindLaterAt = 1;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
RemindLaterFormat = RemindLaterFormat.Days;
|
||||||
|
RemindLaterAt = 2;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
RemindLaterFormat = RemindLaterFormat.Days;
|
||||||
|
RemindLaterAt = 4;
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
RemindLaterFormat = RemindLaterFormat.Days;
|
||||||
|
RemindLaterAt = 8;
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
RemindLaterFormat = RemindLaterFormat.Days;
|
||||||
|
RemindLaterAt = 10;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
DialogResult = DialogResult.OK;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DialogResult = DialogResult.Abort;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RadioButtonYesCheckedChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
comboBoxRemindLater.Enabled = radioButtonYes.Checked;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
433
Mk0.Software.OnlineUpdater/RemindLaterForm.resx
Normal file
@ -0,0 +1,433 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="labelTitle.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel.ColumnCount" type="System.Int32, mscorlib">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="pictureBoxIcon.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
|
<data name="pictureBoxIcon.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="pictureBoxIcon.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>79, 90</value>
|
||||||
|
</data>
|
||||||
|
<data name="pictureBoxIcon.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||||
|
<value>CenterImage</value>
|
||||||
|
</data>
|
||||||
|
<data name="pictureBoxIcon.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>pictureBoxIcon.Name" xml:space="preserve">
|
||||||
|
<value>pictureBoxIcon</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>pictureBoxIcon.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>pictureBoxIcon.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>pictureBoxIcon.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioButtonNo.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioButtonNo.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Bottom</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioButtonNo.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
|
<value>Segoe UI, 9pt, style=Bold</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioButtonNo.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>91, 138</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioButtonNo.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>6, 3, 3, 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioButtonNo.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>406, 19</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioButtonNo.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>4</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioButtonNo.Text" xml:space="preserve">
|
||||||
|
<value>Nein, Update jetzt herunterlanden (empfohlen)</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioButtonNo.Name" xml:space="preserve">
|
||||||
|
<value>radioButtonNo</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioButtonNo.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioButtonNo.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioButtonNo.ZOrder" xml:space="preserve">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBoxRemindLater.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Bottom</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBoxRemindLater.Items" xml:space="preserve">
|
||||||
|
<value>nach 30 Minuten</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBoxRemindLater.Items1" xml:space="preserve">
|
||||||
|
<value>nach 12 Stunden</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBoxRemindLater.Items2" xml:space="preserve">
|
||||||
|
<value>nach 1 Tag</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBoxRemindLater.Items3" xml:space="preserve">
|
||||||
|
<value>nach 2 Tagen</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBoxRemindLater.Items4" xml:space="preserve">
|
||||||
|
<value>nach 4 Tagen</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBoxRemindLater.Items5" xml:space="preserve">
|
||||||
|
<value>nach 8 Tagen</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBoxRemindLater.Items6" xml:space="preserve">
|
||||||
|
<value>nach 10 Tagen</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBoxRemindLater.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>375, 102</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBoxRemindLater.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>10, 3, 10, 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBoxRemindLater.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>115, 23</value>
|
||||||
|
</data>
|
||||||
|
<data name="comboBoxRemindLater.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>5</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>comboBoxRemindLater.Name" xml:space="preserve">
|
||||||
|
<value>comboBoxRemindLater</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>comboBoxRemindLater.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>comboBoxRemindLater.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>comboBoxRemindLater.ZOrder" xml:space="preserve">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioButtonYes.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioButtonYes.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Bottom</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioButtonYes.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
|
<value>Segoe UI, 9pt</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioButtonYes.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>91, 106</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioButtonYes.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>6, 3, 3, 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioButtonYes.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>271, 19</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioButtonYes.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name="radioButtonYes.Text" xml:space="preserve">
|
||||||
|
<value>Ja, erinnere mich bitte wieder: </value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioButtonYes.Name" xml:space="preserve">
|
||||||
|
<value>radioButtonYes</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioButtonYes.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioButtonYes.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>radioButtonYes.ZOrder" xml:space="preserve">
|
||||||
|
<value>4</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelDescription.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelDescription.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Bottom</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelDescription.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
|
<value>Segoe UI, 9pt</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelDescription.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>88, 51</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelDescription.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>409, 45</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelDescription.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelDescription.Text" xml:space="preserve">
|
||||||
|
<value>Du solltest das Update jetzt ausführen. Dies dauert nur sehr kurze Zeit (abhängig von deiner Internetgeschwindigkeit) und stellt neue Funktionen zur Verfügung, schließt mögliche Sicherheitslücken.
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelDescription.Name" xml:space="preserve">
|
||||||
|
<value>labelDescription</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelDescription.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelDescription.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelDescription.ZOrder" xml:space="preserve">
|
||||||
|
<value>5</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonOK.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonOK.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>375, 163</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonOK.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>10, 3, 10, 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonOK.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>115, 32</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonOK.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>6</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonOK.Text" xml:space="preserve">
|
||||||
|
<value>OK</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonOK.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||||
|
<value>MiddleRight</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonOK.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
|
||||||
|
<value>ImageBeforeText</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonOK.Name" xml:space="preserve">
|
||||||
|
<value>buttonOK</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonOK.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonOK.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonOK.ZOrder" xml:space="preserve">
|
||||||
|
<value>6</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>0, 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel.RowCount" type="System.Int32, mscorlib">
|
||||||
|
<value>5</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>499, 198</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>7</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel.Name" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tableLayoutPanel.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="tableLayoutPanel.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||||
|
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="pictureBoxIcon" Row="0" RowSpan="2" Column="0" ColumnSpan="1" /><Control Name="labelTitle" Row="0" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="radioButtonNo" Row="3" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="comboBoxRemindLater" Row="2" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="radioButtonYes" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="labelDescription" Row="1" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="buttonOK" Row="4" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="Absolute,85,Absolute,280,Absolute,135" /><Rows Styles="Absolute,32,Absolute,64,Absolute,32,Absolute,32,Absolute,16" /></TableLayoutSettings></value>
|
||||||
|
</data>
|
||||||
|
<data name="labelTitle.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Bottom</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelTitle.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
|
<value>Segoe UI, 10.5pt, style=Bold</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelTitle.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>88, 13</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelTitle.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>409, 19</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelTitle.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelTitle.Text" xml:space="preserve">
|
||||||
|
<value>Willst du das Update später herunterladen?</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelTitle.Name" xml:space="preserve">
|
||||||
|
<value>labelTitle</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelTitle.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelTitle.Parent" xml:space="preserve">
|
||||||
|
<value>tableLayoutPanel</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelTitle.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Localizable" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||||
|
<value>7, 15</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>499, 198</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
|
<value>Segoe UI, 9pt</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>3, 4, 3, 4</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
|
||||||
|
<value>CenterParent</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Text" xml:space="preserve">
|
||||||
|
<value>Später an Update erinnern</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>$this.Name" xml:space="preserve">
|
||||||
|
<value>RemindLaterForm</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>$this.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
BIN
Mk0.Software.OnlineUpdater/Resources/Unzipper.exe
Normal file
BIN
Mk0.Software.OnlineUpdater/Resources/clock_go.png
Normal file
After Width: | Height: | Size: 965 B |
BIN
Mk0.Software.OnlineUpdater/Resources/clock_go_32.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
Mk0.Software.OnlineUpdater/Resources/clock_play.png
Normal file
After Width: | Height: | Size: 959 B |
BIN
Mk0.Software.OnlineUpdater/Resources/download.png
Normal file
After Width: | Height: | Size: 574 B |
BIN
Mk0.Software.OnlineUpdater/Resources/download_32.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
Mk0.Software.OnlineUpdater/Resources/hand_point.png
Normal file
After Width: | Height: | Size: 620 B |
BIN
Mk0.Software.OnlineUpdater/Resources/update.png
Normal file
After Width: | Height: | Size: 4.4 KiB |
133
Mk0.Software.OnlineUpdater/UpdateForm.Designer.cs
generated
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
namespace Mk0.Software.OnlineUpdater
|
||||||
|
{
|
||||||
|
partial class UpdateForm
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(UpdateForm));
|
||||||
|
this.webBrowser = new System.Windows.Forms.WebBrowser();
|
||||||
|
this.labelUpdate = new System.Windows.Forms.Label();
|
||||||
|
this.labelDescription = new System.Windows.Forms.Label();
|
||||||
|
this.labelReleaseNotes = new System.Windows.Forms.Label();
|
||||||
|
this.buttonUpdate = new System.Windows.Forms.Button();
|
||||||
|
this.buttonRemindLater = new System.Windows.Forms.Button();
|
||||||
|
this.pictureBoxIcon = new System.Windows.Forms.PictureBox();
|
||||||
|
this.buttonSkip = new System.Windows.Forms.Button();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.pictureBoxIcon)).BeginInit();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// webBrowser
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.webBrowser, "webBrowser");
|
||||||
|
this.webBrowser.Name = "webBrowser";
|
||||||
|
this.webBrowser.ScriptErrorsSuppressed = true;
|
||||||
|
//
|
||||||
|
// labelUpdate
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labelUpdate, "labelUpdate");
|
||||||
|
this.labelUpdate.Name = "labelUpdate";
|
||||||
|
//
|
||||||
|
// labelDescription
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labelDescription, "labelDescription");
|
||||||
|
this.labelDescription.Name = "labelDescription";
|
||||||
|
//
|
||||||
|
// labelReleaseNotes
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labelReleaseNotes, "labelReleaseNotes");
|
||||||
|
this.labelReleaseNotes.Name = "labelReleaseNotes";
|
||||||
|
//
|
||||||
|
// buttonUpdate
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.buttonUpdate, "buttonUpdate");
|
||||||
|
this.buttonUpdate.Image = Properties.Resources.download;
|
||||||
|
this.buttonUpdate.Name = "buttonUpdate";
|
||||||
|
this.buttonUpdate.UseVisualStyleBackColor = true;
|
||||||
|
this.buttonUpdate.Click += new System.EventHandler(this.ButtonUpdateClick);
|
||||||
|
//
|
||||||
|
// buttonRemindLater
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.buttonRemindLater, "buttonRemindLater");
|
||||||
|
this.buttonRemindLater.Image = Properties.Resources.clock_go;
|
||||||
|
this.buttonRemindLater.Name = "buttonRemindLater";
|
||||||
|
this.buttonRemindLater.UseVisualStyleBackColor = true;
|
||||||
|
this.buttonRemindLater.Click += new System.EventHandler(this.ButtonRemindLaterClick);
|
||||||
|
//
|
||||||
|
// pictureBoxIcon
|
||||||
|
//
|
||||||
|
this.pictureBoxIcon.Image = Properties.Resources.update;
|
||||||
|
resources.ApplyResources(this.pictureBoxIcon, "pictureBoxIcon");
|
||||||
|
this.pictureBoxIcon.Name = "pictureBoxIcon";
|
||||||
|
this.pictureBoxIcon.TabStop = false;
|
||||||
|
//
|
||||||
|
// buttonSkip
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.buttonSkip, "buttonSkip");
|
||||||
|
this.buttonSkip.DialogResult = System.Windows.Forms.DialogResult.Abort;
|
||||||
|
this.buttonSkip.Image = Properties.Resources.hand_point;
|
||||||
|
this.buttonSkip.Name = "buttonSkip";
|
||||||
|
this.buttonSkip.UseVisualStyleBackColor = true;
|
||||||
|
this.buttonSkip.Click += new System.EventHandler(this.ButtonSkipClick);
|
||||||
|
//
|
||||||
|
// UpdateForm
|
||||||
|
//
|
||||||
|
this.AcceptButton = this.buttonUpdate;
|
||||||
|
resources.ApplyResources(this, "$this");
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.Controls.Add(this.pictureBoxIcon);
|
||||||
|
this.Controls.Add(this.labelReleaseNotes);
|
||||||
|
this.Controls.Add(this.labelDescription);
|
||||||
|
this.Controls.Add(this.labelUpdate);
|
||||||
|
this.Controls.Add(this.webBrowser);
|
||||||
|
this.Controls.Add(this.buttonUpdate);
|
||||||
|
this.Controls.Add(this.buttonSkip);
|
||||||
|
this.Controls.Add(this.buttonRemindLater);
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||||
|
this.MaximizeBox = false;
|
||||||
|
this.MinimizeBox = false;
|
||||||
|
this.Name = "UpdateForm";
|
||||||
|
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.UpdateForm_FormClosed);
|
||||||
|
this.Load += new System.EventHandler(this.UpdateFormLoad);
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.pictureBoxIcon)).EndInit();
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.Button buttonRemindLater;
|
||||||
|
private System.Windows.Forms.Button buttonUpdate;
|
||||||
|
private System.Windows.Forms.Button buttonSkip;
|
||||||
|
private System.Windows.Forms.WebBrowser webBrowser;
|
||||||
|
private System.Windows.Forms.Label labelUpdate;
|
||||||
|
private System.Windows.Forms.Label labelDescription;
|
||||||
|
private System.Windows.Forms.Label labelReleaseNotes;
|
||||||
|
private System.Windows.Forms.PictureBox pictureBoxIcon;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
197
Mk0.Software.OnlineUpdater/UpdateForm.cs
Normal file
@ -0,0 +1,197 @@
|
|||||||
|
using System;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Globalization;
|
||||||
|
using System.IO;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using Microsoft.Win32;
|
||||||
|
|
||||||
|
namespace Mk0.Software.OnlineUpdater
|
||||||
|
{
|
||||||
|
internal partial class UpdateForm : Form
|
||||||
|
{
|
||||||
|
public UpdateForm()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
UseLatestIE();
|
||||||
|
buttonSkip.Visible = AutoUpdater.ShowSkipButton;
|
||||||
|
buttonRemindLater.Visible = AutoUpdater.ShowRemindLaterButton;
|
||||||
|
var resources = new System.ComponentModel.ComponentResourceManager(typeof(UpdateForm));
|
||||||
|
Text = string.Format(resources.GetString("$this.Text", CultureInfo.CurrentCulture),
|
||||||
|
AutoUpdater.AppTitle, AutoUpdater.CurrentVersion);
|
||||||
|
labelUpdate.Text = string.Format(resources.GetString("labelUpdate.Text", CultureInfo.CurrentCulture),
|
||||||
|
AutoUpdater.AppTitle);
|
||||||
|
labelDescription.Text =
|
||||||
|
string.Format(resources.GetString("labelDescription.Text", CultureInfo.CurrentCulture),
|
||||||
|
AutoUpdater.AppTitle, AutoUpdater.CurrentVersion, AutoUpdater.InstalledVersion);
|
||||||
|
|
||||||
|
if (AutoUpdater.Mandatory && AutoUpdater.UpdateMode == Mode.Forced)
|
||||||
|
{
|
||||||
|
ControlBox = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed override string Text
|
||||||
|
{
|
||||||
|
get { return base.Text; }
|
||||||
|
set { base.Text = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UseLatestIE()
|
||||||
|
{
|
||||||
|
int ieValue = 0;
|
||||||
|
switch (webBrowser.Version.Major)
|
||||||
|
{
|
||||||
|
case 11:
|
||||||
|
ieValue = 11001;
|
||||||
|
break;
|
||||||
|
case 10:
|
||||||
|
ieValue = 10001;
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
|
ieValue = 9999;
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
ieValue = 8888;
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
ieValue = 7000;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ieValue != 0)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
using (RegistryKey registryKey =
|
||||||
|
Registry.CurrentUser.OpenSubKey(
|
||||||
|
@"SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION",
|
||||||
|
true))
|
||||||
|
{
|
||||||
|
registryKey?.SetValue(Path.GetFileName(Process.GetCurrentProcess().MainModule.FileName),
|
||||||
|
ieValue,
|
||||||
|
RegistryValueKind.DWord);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
// ignored
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateFormLoad(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(AutoUpdater.ChangelogURL))
|
||||||
|
{
|
||||||
|
var reduceHeight = labelReleaseNotes.Height + webBrowser.Height;
|
||||||
|
labelReleaseNotes.Hide();
|
||||||
|
webBrowser.Hide();
|
||||||
|
Height -= reduceHeight;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (null != AutoUpdater.BasicAuthChangeLog)
|
||||||
|
{
|
||||||
|
webBrowser.Navigate(AutoUpdater.ChangelogURL, "", null, $"Authorization: {AutoUpdater.BasicAuthChangeLog}");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
webBrowser.Navigate(AutoUpdater.ChangelogURL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var labelSize = new Size(Width - 110, 0);
|
||||||
|
labelDescription.MaximumSize = labelUpdate.MaximumSize = labelSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonUpdateClick(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (AutoUpdater.OpenDownloadPage)
|
||||||
|
{
|
||||||
|
var processStartInfo = new ProcessStartInfo(AutoUpdater.DownloadURL);
|
||||||
|
|
||||||
|
Process.Start(processStartInfo);
|
||||||
|
|
||||||
|
DialogResult = DialogResult.OK;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (AutoUpdater.DownloadUpdate())
|
||||||
|
{
|
||||||
|
DialogResult = DialogResult.OK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonSkipClick(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
using (RegistryKey updateKey = Registry.CurrentUser.CreateSubKey(AutoUpdater.RegistryLocation))
|
||||||
|
{
|
||||||
|
if (updateKey != null)
|
||||||
|
{
|
||||||
|
updateKey.SetValue("version", AutoUpdater.CurrentVersion.ToString());
|
||||||
|
updateKey.SetValue("skip", 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonRemindLaterClick(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (AutoUpdater.LetUserSelectRemindLater)
|
||||||
|
{
|
||||||
|
var remindLaterForm = new RemindLaterForm();
|
||||||
|
|
||||||
|
var dialogResult = remindLaterForm.ShowDialog();
|
||||||
|
|
||||||
|
if (dialogResult.Equals(DialogResult.OK))
|
||||||
|
{
|
||||||
|
AutoUpdater.RemindLaterTimeSpan = remindLaterForm.RemindLaterFormat;
|
||||||
|
AutoUpdater.RemindLaterAt = remindLaterForm.RemindLaterAt;
|
||||||
|
}
|
||||||
|
else if (dialogResult.Equals(DialogResult.Abort))
|
||||||
|
{
|
||||||
|
ButtonUpdateClick(sender, e);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
using (RegistryKey updateKey = Registry.CurrentUser.CreateSubKey(AutoUpdater.RegistryLocation))
|
||||||
|
{
|
||||||
|
if (updateKey != null)
|
||||||
|
{
|
||||||
|
updateKey.SetValue("version", AutoUpdater.CurrentVersion);
|
||||||
|
updateKey.SetValue("skip", 0);
|
||||||
|
DateTime remindLaterDateTime = DateTime.Now;
|
||||||
|
switch (AutoUpdater.RemindLaterTimeSpan)
|
||||||
|
{
|
||||||
|
case RemindLaterFormat.Days:
|
||||||
|
remindLaterDateTime = DateTime.Now + TimeSpan.FromDays(AutoUpdater.RemindLaterAt);
|
||||||
|
break;
|
||||||
|
case RemindLaterFormat.Hours:
|
||||||
|
remindLaterDateTime = DateTime.Now + TimeSpan.FromHours(AutoUpdater.RemindLaterAt);
|
||||||
|
break;
|
||||||
|
case RemindLaterFormat.Minutes:
|
||||||
|
remindLaterDateTime = DateTime.Now + TimeSpan.FromMinutes(AutoUpdater.RemindLaterAt);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
updateKey.SetValue("remindlater",
|
||||||
|
remindLaterDateTime.ToString(CultureInfo.CreateSpecificCulture("en-US").DateTimeFormat));
|
||||||
|
AutoUpdater.SetTimer(remindLaterDateTime);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
DialogResult = DialogResult.Cancel;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateForm_FormClosed(object sender, FormClosedEventArgs e)
|
||||||
|
{
|
||||||
|
AutoUpdater.Running = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
955
Mk0.Software.OnlineUpdater/UpdateForm.resx
Normal file
@ -0,0 +1,955 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="webBrowser.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
|
<value>Top, Bottom, Left, Right</value>
|
||||||
|
</data>
|
||||||
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
|
<data name="webBrowser.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>94, 120</value>
|
||||||
|
</data>
|
||||||
|
<data name="webBrowser.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>2, 2, 2, 2</value>
|
||||||
|
</data>
|
||||||
|
<data name="webBrowser.MinimumSize" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>23, 23</value>
|
||||||
|
</data>
|
||||||
|
<data name="webBrowser.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>538, 432</value>
|
||||||
|
</data>
|
||||||
|
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="webBrowser.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>webBrowser.Name" xml:space="preserve">
|
||||||
|
<value>webBrowser</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>webBrowser.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.WebBrowser, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>webBrowser.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>webBrowser.ZOrder" xml:space="preserve">
|
||||||
|
<value>4</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelUpdate.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelUpdate.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
|
<value>Segoe UI, 10.5pt, style=Bold</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelUpdate.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>91, 14</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelUpdate.MaximumSize" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>550, 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelUpdate.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>227, 19</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelUpdate.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>5</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelUpdate.Text" xml:space="preserve">
|
||||||
|
<value>Eine neue Version von {0} ist verfügbar!</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelUpdate.Name" xml:space="preserve">
|
||||||
|
<value>labelUpdate</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelUpdate.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelUpdate.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelUpdate.ZOrder" xml:space="preserve">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelDescription.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelDescription.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
|
<value>Segoe UI, 9pt</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelDescription.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>91, 50</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelDescription.MaximumSize" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>550, 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelDescription.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>479, 15</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelDescription.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>6</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelDescription.Text" xml:space="preserve">
|
||||||
|
<value>{0} {1} ist jetzt verfügbar. Es ist die veraltete Version {2} installiert. Soll die neue Version jetzt heruntergeladen werden?</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelDescription.Name" xml:space="preserve">
|
||||||
|
<value>labelDescription</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelDescription.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelDescription.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelDescription.ZOrder" xml:space="preserve">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelReleaseNotes.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelReleaseNotes.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
|
<value>Segoe UI, 9.75pt, style=Bold</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelReleaseNotes.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>91, 90</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelReleaseNotes.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>98, 17</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelReleaseNotes.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>7</value>
|
||||||
|
</data>
|
||||||
|
<data name="labelReleaseNotes.Text" xml:space="preserve">
|
||||||
|
<value>Versionshinweise:</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelReleaseNotes.Name" xml:space="preserve">
|
||||||
|
<value>labelReleaseNotes</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelReleaseNotes.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelReleaseNotes.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>labelReleaseNotes.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonUpdate.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
|
<value>Bottom, Right</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonUpdate.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
|
<value>Segoe UI, 9pt</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonUpdate.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>479, 573</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonUpdate.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>2, 2, 2, 2</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonUpdate.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>153, 28</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonUpdate.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonUpdate.Text" xml:space="preserve">
|
||||||
|
<value>Update</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonUpdate.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||||
|
<value>MiddleRight</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonUpdate.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
|
||||||
|
<value>ImageBeforeText</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonUpdate.Name" xml:space="preserve">
|
||||||
|
<value>buttonUpdate</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonUpdate.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonUpdate.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonUpdate.ZOrder" xml:space="preserve">
|
||||||
|
<value>5</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonRemindLater.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
|
<value>Bottom, Right</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonRemindLater.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
|
<value>Segoe UI, 9pt</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonRemindLater.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>322, 573</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonRemindLater.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>2, 2, 2, 2</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonRemindLater.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>153, 28</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonRemindLater.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonRemindLater.Text" xml:space="preserve">
|
||||||
|
<value>Später erinnern</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonRemindLater.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||||
|
<value>MiddleRight</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonRemindLater.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
|
||||||
|
<value>ImageBeforeText</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonRemindLater.Name" xml:space="preserve">
|
||||||
|
<value>buttonRemindLater</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonRemindLater.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonRemindLater.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonRemindLater.ZOrder" xml:space="preserve">
|
||||||
|
<value>7</value>
|
||||||
|
</data>
|
||||||
|
<data name="pictureBoxIcon.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>12, 14</value>
|
||||||
|
</data>
|
||||||
|
<data name="pictureBoxIcon.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>70, 66</value>
|
||||||
|
</data>
|
||||||
|
<data name="pictureBoxIcon.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||||
|
<value>CenterImage</value>
|
||||||
|
</data>
|
||||||
|
<data name="pictureBoxIcon.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>8</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>pictureBoxIcon.Name" xml:space="preserve">
|
||||||
|
<value>pictureBoxIcon</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>pictureBoxIcon.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>pictureBoxIcon.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>pictureBoxIcon.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonSkip.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
|
<value>Bottom, Left</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonSkip.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
|
<value>Segoe UI, 9pt</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonSkip.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>95, 573</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonSkip.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>2, 2, 2, 2</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonSkip.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>153, 28</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonSkip.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonSkip.Text" xml:space="preserve">
|
||||||
|
<value>Version überspringen</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonSkip.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||||
|
<value>MiddleRight</value>
|
||||||
|
</data>
|
||||||
|
<data name="buttonSkip.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
|
||||||
|
<value>ImageBeforeText</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonSkip.Name" xml:space="preserve">
|
||||||
|
<value>buttonSkip</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonSkip.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonSkip.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>buttonSkip.ZOrder" xml:space="preserve">
|
||||||
|
<value>6</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Localizable" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||||
|
<value>7, 15</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>643, 612</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
|
||||||
|
<value>Segoe UI, 9pt</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
AAABAAQAEBAAAAAAIABoBAAARgAAACAgAAAAACAAqBAAAK4EAAAwMAAAAAAgAKglAABWFQAAQEAAAAAA
|
||||||
|
IAAoQgAA/joAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAD///8B////Af//
|
||||||
|
/wH///8B////Af///wEAAAADAAAAAwAAAAMAAAADAAAAA////wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8BAAAAAwAAAAkAAAANAAAADwAAABEABQ0TAEqmPQAAAA0AAAAJAAAABf///wH///8B////Af//
|
||||||
|
/wH///8BAAAABwAAAA0ASKJBBVGsWwAAAB0AAAAhCV2/hxBv2MUAAAAZAAAAFQAAAA8AAAAHAAAAA///
|
||||||
|
/wH///8BAAAAAwAAAAkAAAARAEqnVyuO7/8Xbc2vA0ibbxuF7vsVfur7ACBILwAAABkAFzQZADR2GQAA
|
||||||
|
AAX///8B////Af///wEAAAAJAAAADwBKo0sokvT/IJH3/yeO8P8Wi/f/HYz1/xRs0LkWdt7LFHbj9wBT
|
||||||
|
u0cAAAAD////Af///wEAXM4RAFrITxJpzW8eddWlMpn0/x+U+P8ilvj/UrH6/xeN9/8Xi/b/DIP1/xh5
|
||||||
|
480AAAUF////Af///wH///8BAFzPDS+F4sU/ovj/LJz4/yea+P8nmvn/f8f8//H5/v8/pvr/Foz3/x+N
|
||||||
|
9f8KZtNt////Af///wH///8B////Af///wEAXM4TM4vm0zOh+f8toPn/Qab5//P5/v//////yef9/x2R
|
||||||
|
9/8YjPb/IYbt+Rp13ZUAXM4b////Af///wH///8B////ASB32otEqfj/M6X6/0Ok+f+Uyfv//////2Wz
|
||||||
|
+v8olff/FIv3/xeJ9v8nh+z5D2nVj////wH///8B////ASB32nNGpPX/L6L6/zao+v86q/v/aLb6////
|
||||||
|
//8nm/j/HZL4/yuV9v8ged2pAFvOH////wH///8B////AQBbzR8yhN+3QJXp10Ga7fdGrfr/Naf6/0un
|
||||||
|
+f+q0vv/IJX4/xyR9/8ikff/KH3ei////wH///8B////Af///wH///8B////Af///wEAXM5DS6v4/y6h
|
||||||
|
+f84pPn/Jpr4/zCd+P81k+3/M5f1/zuQ6usAW84J////Af///wH///8B////Af///wH///8BAFzOU1Wv
|
||||||
|
+f9Gne7vOovjxTWf+P88mfH/AFvNMQJfz0kieNuFAFzOM////wH///8B////Af///wH///8B////AQNf
|
||||||
|
z2M/jeKtAFzOGwBbzg87kOjbP5Loz////wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wEAW8wH////Af///wH///8BBWHQMxhu1nf///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAAD//wAA
|
||||||
|
//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//ygA
|
||||||
|
AAAgAAAAQAAAAAEAIAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAD///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wEAAAADAAAAAwAAAAUAAAAFAAAABwAAAAcAAAAHAAAABwAA
|
||||||
|
AAcAAAAFAAAAAwAAAAP///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////AQAAAAMAAAAFAAAABwAAAAkAAAALAAAACwAAAA0AAAANAAAADwAA
|
||||||
|
AA8AAAANAAAADQAAAA0AAAALAAAACQAAAAcAAAAFAAAAA////wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wEAAAAFAAAABwAAAAsAAAANAAAADwAAABEAAAATAAAAEwAA
|
||||||
|
ABUAAAAVAAAAFQAPJhkAWci7ACxgIQAAABEAAAARAAAADwAAAAsAAAAJAAAABwAAAAP///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wEAAAADAAAABwAAAAkAAAANAAAADwBHnj0AH0YdAAAAFwAA
|
||||||
|
ABkAAAAbAAAAHQAAAB0AAAAdAFW+mQ5v3P0ATq5rAAAAGQAAABcAAAATAAAAEQAAAA0AAAALAAAABwAA
|
||||||
|
AAX///8B////Af///wH///8B////Af///wH///8BAAAAAwAAAAUAAAAJAAAADQAAAA8AAAATAFfEpQhj
|
||||||
|
0N8ARpxVAAAAHwAAACEAAAAjAAAAJQBIoGsTduL9JIz0/wJYwa8AAAAdAAAAGwAAABcAAAAVAAAAEQAA
|
||||||
|
AA8AAAALAAAABwAAAAX///8B////Af///wH///8B////Af///wEAAAADAAAABwAAAAsAAAAPAAAAEQAA
|
||||||
|
ABUAVsCbOpfz/x984f0BVr2lABg4MwAAACkALmhJDWvX8SKO9v8XiPb/DmvY8QAIFSUAAAAfAAAAGwAA
|
||||||
|
ABcAAAATAAAAEQAAAA0AAAAJAAAABf///wH///8B////Af///wH///8B////AQAAAAMAAAAHAAAACwAA
|
||||||
|
AA8AAAATAAAAFQBUvZEylPL/IZD3/zKR8P8PadLlAESYcQZgy9ktk/T/EIb2/xCF9v8efuX9AEGPWQAA
|
||||||
|
AB8AAAAbAAAAFwAAABUAOH4pAE2tQQAAAAkAAAAFAAAAA////wH///8B////Af///wH///8BAAAAAwAA
|
||||||
|
AAcAAAALAAAADwAAABEAAAAVAFW8iTeW8f8WjPf/GY33/zOa9/8ng+X/MZDv/xqN9/8RiPb/EIf2/yqO
|
||||||
|
8f8AVLufAD6JSwBRtX0AWMStCGbU4RBu3P8AWsvBAAAACQAAAAX///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8BAAAABQAAAAkAAAANAAAADwAAABMAVbx9O5fw/xqP9/8aj/f/Go/3/ySU9/8hkvf/Foz3/xWL
|
||||||
|
9/8Tivf/J5P3/xt43/8efOP9JYjt/yKL9f8difb/GXnk/QBTuUkAAAAHAAAAA////wH///8B////Af//
|
||||||
|
/wH///8B////Af///wEAAAADAAAABQAAAAkAAAALABUtEwBXwYk/mO7/HZL4/x6T+P8dkvj/HZL4/xyR
|
||||||
|
+P8tofn/HpP3/xaM9/8Vi/f/IZD3/xaJ9v8Mg/b/CYH1/x+L9f8JZdLRAAAKBwAAAAX///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8BAFzOQQBczokAXMynDWfTwxlz2eUie979LYTi/02l9P8hlvj/IZb4/yGW
|
||||||
|
+P8glfj/L6H6/7Pf/f9Ksfv/GpD3/xeN9/8Uivf/EYj2/w6F9v8NhPb/J4Xq/QBYyGUAAAAD////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wEAXM81EGvW62ez+P9Jp/n/P6P5/zig+P8xnvj/J5r4/yWZ
|
||||||
|
+f8lmfn/JZn5/yqd+f+Jzv3//////8jo/v8vofr/GY/3/xaM9/8Tivf/EIf2/yWQ9v8Tb9npAFi/Cf//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAXM45Hnfb81Gr+f8ilvj/I5j4/yWZ
|
||||||
|
+f8nm/n/KJz5/ymc+f8pnPn/VLX7//b7/v///////////5DR/f8kmPn/GI73/xWL9/8SiPb/NpTx/wBc
|
||||||
|
zrcAWs8J////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAXM5HJn7e91Su
|
||||||
|
+v8mmvn/KZz5/yqe+f8sn/n/LaD5/yuc+P/S6v3/////////////////+Pz+/1a1+/8ckfj/F433/xOK
|
||||||
|
9/8ok/f/NI7s/RJu2OUAW85tAF7QB////wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wEAXM5VL4bi/VSw+v8rn/n/LqH6/y+i+v8kmPn/i8X6////////////////////////////1+z+/yiZ
|
||||||
|
+P8Yjvf/FYv3/xGI9v8Sh/b/K5L3/zCL6/0Qa9fhAFzOZQBZzAX///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wEAXM6xYrD0/zCh+v8xpPr/M6X6/xmI9v+m0Pv/qtL7/+Pw/v///////////6zU
|
||||||
|
+/+t1fz/Vqv5/xiO9/8WjPf/Eon3/w+F9v8Lgvb/EIT1/0Cb9/8jet/9AFzNvf///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8BAFvNeUeX6P9Pr/r/MKP6/zOm+v82qPv/K575/ySZ+f8Xjvf/rNP8////
|
||||||
|
////////I5f5/xiN9/8WjPf/Go/3/xeN9/8Tiff/FIj2/zGV9/83j+z9FG3Y5wBbzXMAWcwL////Af//
|
||||||
|
/wH///8B////Af///wH///8B////AQBczm1Bk+f/VLD6/y2g+v8xpPr/Naf6/ziq+/87rPv/Oav7/yWY
|
||||||
|
+f+s0/z///////////8vofr/I5f4/x+U+P8bkPj/F433/zSa+P9Alu39F3HZ5wBbznMAXNEL////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wEAXM5jO43k/Vix+v8qnfn/LqD6/zGk+v81p/r/OKr7/zus
|
||||||
|
+/85q/v/JZj5/6zT/P///////////yqd+P8jl/j/H5T4/xuQ+P8Xjff/S6Dy/wBczbEAXNEL////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAFvNUxlz2P13uvb/aLj5/2O3+v9atPv/ULH6/z6q
|
||||||
|
+v82qPv/OKn7/zeo+/8jmPj/rNP8////////////JJj4/yKX+P8ek/j/G5D3/xeN9/8/n/j/GXHY2wBt
|
||||||
|
2wP///8B////Af///wH///8B////Af///wH///8B////Af///wEAW84nAFzOYwBczYEAXM6fEGrTvSR7
|
||||||
|
3OMyhd/9cr34/zOl+v80pvr/M6X6/yWa+f86l/f/VaX4/1Wl+P8Zj/f/IZb4/x2S+P8aj/f/Foz3/xuN
|
||||||
|
9/9Ckuj/AFzOS////wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////AQBczn9ptfX/L6L6/zCj+v8wovr/LqH6/yyf+f8pnfn/Jpr5/yOX+P8ml/j/PKH5/yeW
|
||||||
|
9/8Vi/f/EYj2/0qi9v8NZdGz////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8BAFvOjWm39/8sn/n/LaD5/y2g+f9Nrfr/OqX5/yeb+f8kmPj/IZb4/1iu
|
||||||
|
+f8wg+D/QpHm/VSk8v9Sp/j/Uaf4/zSG4v0AW84j////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wEAXM6babj5/yic+f85pPn/bLj4/ziJ4f1osfT/Lpz5/yGW
|
||||||
|
+P8flPj/X6nw/wBczXEAW845AF3OdQVg0K8dddvtLX/e/wBczov///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////AQBczqtqufr/V7H6/1ii7P8QadTBAFzPORZv
|
||||||
|
199ntvn/IJT4/zSd+P8+jOL9AFvNG////wH///8B////Af///wEAW84pAFzOP////wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BBWLRt3y89v8rfdzvAFzPZf//
|
||||||
|
/wH///8BAFvOOS6D4PlRq/n/U6v5/xlw1sf///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wECXc7RCmTSqwBb
|
||||||
|
zhn///8B////Af///wH///8BAFvNc02b6v9orvP/AFzOef///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBb
|
||||||
|
zBv///8B////Af///wH///8B////Af///wH///8BBWHRsy5+3f0AXM4n////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAW84TAFzOs////wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAoAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAA////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wEAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAP///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wEAAAADAAAAAwAAAAMAAAADAAAABQAAAAUAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAA
|
||||||
|
AAcAAAAFAAAABQAAAAUAAAADAAAAA////wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8BAAAAAwAAAAUAAAAFAAAABwAAAAkAAAAJAAAACwAAAAsAAAANAAAADQAAAA0AAAANAAAADQAA
|
||||||
|
AA0AAAANAAAADQAAAAsAAAALAAAACwAAAAkAAAAJAAAABwAAAAUAAAAFAAAAA////wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8BAAAAAwAAAAMAAAAFAAAABwAAAAkAAAAJAAAACwAAAA0AAAANAAAADwAAAA8AAAARAAAAEQAA
|
||||||
|
ABEAAAARAAAAEQAAABEAAAARAEWaNQBGnjcAAgQPAAAADwAAAA0AAAANAAAACwAAAAkAAAAJAAAABwAA
|
||||||
|
AAUAAAAD////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wEAAAADAAAABQAAAAcAAAAJAAAACwAAAA0AAAANAAAADwAAABEAAAARAAAAEwAA
|
||||||
|
ABMAAAAVAAAAFwAAABUAAAAVAAAAFQAAABUAG0UfAFrL1wBWwZUAI04fAAAAEwAAABEAAAARAAAADwAA
|
||||||
|
AA0AAAANAAAACwAAAAkAAAAHAAAABQAAAAP///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8BAAAAAwAAAAUAAAAHAAAABwAAAAsAAAALAAAADQAPIRMAP40vABo7GwAA
|
||||||
|
ABUAAAAXAAAAGQAAABkAAAAZAAAAGwAAABsAAAAdAAAAGwAiTykAV8KpCWnX/QVgzdMAPYc9AAAAFwAA
|
||||||
|
ABcAAAAVAAAAEwAAABEAAAAPAAAADQAAAA0AAAALAAAABwAAAAcAAAAD////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAAAABQAAAAcAAAAHAAAACwAAAA0AAAAPAAAAEQA1
|
||||||
|
dScAWMavAFS8iQA2ejUAAQMbAAAAHQAAAB0AAAAfAAAAHwAAACEAAAAhABQsKQBQsoEHZ9bvIIbv/w5t
|
||||||
|
2vcASKFdAAAAGwAAABkAAAAZAAAAFwAAABUAAAATAAAADwAAAA8AAAANAAAACQAAAAkAAAAHAAAAA///
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAAAADAAAABQAAAAcAAAAJAAAADQAA
|
||||||
|
AA8AAAARAAAAEwA3fS8AWsrRD2zY9wFax8MARppXAAAAHwAAACEAAAAjAAAAJQAAACUAAAAlAEGQWwVi
|
||||||
|
0OUeg+v/IYz1/xZ34f8BVLmTAAAAHwAAAB0AAAAbAAAAGQAAABcAAAAVAAAAEwAAABEAAAAPAAAACwAA
|
||||||
|
AAkAAAAHAAAABQAAAAP///8B////Af///wH///8B////Af///wH///8B////AQAAAAMAAAAFAAAABwAA
|
||||||
|
AAsAAAALAAAADQAAABEAAAATAAAAFQAsYykAWcnNN5Xy/y2K6v0Pa9f9AVS4lwAxb0MABxEpAAAAJwAA
|
||||||
|
ACkAKF1DBGDN5R+B6P0hjfb/EIX2/x+D6/8GYc/hAAYPJQAAACEAAAAdAAAAGwAAABkAAAAXAAAAFQAA
|
||||||
|
ABMAAAAPAAAADQAAAAsAAAAJAAAABwAAAAX///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wEAAAAFAAAABwAAAAkAAAANAAAADwAAABEAAAATAAAAFQAfRyMAWcjLM5Px/zWZ9/8yk/H/HHfe+wdf
|
||||||
|
ycsAR6B1AAYPLQAfRj8AUrmxGXri/ymR9f8Sh/b/D4X2/yOL8/8LaNf/ADNyQwAAACEAAAAfAAAAHQAA
|
||||||
|
ABkAAAAXAAAAFQAAABMAAAARAAAADwAAAAsAAAAJAAAABwAAAAMAAAAD////Af///wH///8B////Af//
|
||||||
|
/wH///8B////AQAAAAMAAAAFAAAABwAAAAkAAAANAAAADwAAABEAAAATAAAAFQANIh0AWcfHMJHv/yeT
|
||||||
|
9/8djvf/NZf1/y6L6v8NaNLrAFO3pQBQtKENa9b1Mpb1/xuM9v8Phvb/DoX2/yKO9v8Xdd/9AE6rfwAA
|
||||||
|
ACEAAAAfAAAAHQAAABkAAAAXAAAAFwAdPRsAR6A9AFS+bQBAkSMAAAAJAAAABwAAAAMAAAAD////Af//
|
||||||
|
/wH///8B////Af///wH///8B////AQAAAAMAAAAFAAAABwAAAAkAAAALAAAADwAAABEAAAATAAAAFQAA
|
||||||
|
ABcAWsfDMZDu/yuW9/8Vi/b/F4z3/yqV9/88nfb/IHzg/RJv2v80lPH/I5H3/xKI9/8Rh/b/EIf2/xyM
|
||||||
|
9v8piez/AFjFxQAkUTMAL2k5AECRSwBMqmMAVb6PBF/NyQdk1PUHZdX/AFvN6wBUvl0AAAAJAAAABwAA
|
||||||
|
AAX///8B////Af///wH///8B////Af///wH///8B////Af///wEAAAADAAAABwAAAAkAAAALAAAADQAA
|
||||||
|
AA8AAAARAAAAFQAAABcAWse5MZDs/zCZ+P8Yjff/GI73/xiO9/8ikvf/Npz3/zmb9f8vmPf/FYv3/xSK
|
||||||
|
9/8Tiff/EYj2/xaK9v8ylvX/BV7M6wBWwbEDXMe/DGnW6RFw3f0XduH/HH/p/SKG7/8be+b9AFrKrwAw
|
||||||
|
bBUAAAAJAAAABQAAAAP///8B////Af///wH///8B////Af///wH///8B////Af///wEAAAADAAAABQAA
|
||||||
|
AAcAAAAJAAAACwAAAA8AAAAPAAAAEQAAABUAWsexMo7r/zSc+P8aj/f/Go/3/xqP9/8aj/f/HZH3/yGT
|
||||||
|
9/8bj/f/F433/xaM9/8Vi/f/FIr3/xOJ9v8vl/f/KIXo/yWE6P8sjO39LI/y/yWN9P8cifX/FIT1/yKK
|
||||||
|
9P8Oa9n/AFS7UwAAAAkAAAAHAAAABQAAAAP///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8BAAAAAwAAAAUAAAAHAAAACQAAAAsAAAANAAYNDwAdQRkAWsevMY3p/zug+f8dkvj/HZL3/x2S
|
||||||
|
+P8ckvj/HJH3/xyR+P8bkfj/JZn4/ySY+P8Zjvf/Foz3/xSL9/8Wi/f/KZT3/yOQ9v8Xivb/DIP2/wqB
|
||||||
|
9v8IgPX/E4X1/yGB6f8GYtDPAAARCQAAAAcAAAAFAAAAA////wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8BAF3FBwBVvBkAVr8tAFbBRwBWwVsAWMRvAFjFhQBYxZUAW8znM47p/z+j
|
||||||
|
+f8flPf/H5T3/x+U+P8flPf/HpP3/x6T+P8lmvn/Ubf7/1e4+/8lmvj/GI73/xaM9/8Vi/f/E4n3/xGI
|
||||||
|
9v8Phvb/DYT2/wuD9v8Jgfb/JYz0/xd03vsBWcZtAAAABQAAAAMAAAAD////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wEAXM6PAFzOwwBbzcsBXc7TDmnU3Rt02uklf+D1MYnl/TuS
|
||||||
|
6f9Fmu3/U6n1/zig+P8hlvf/IZb4/yGW9/8hlvf/IZX4/ySY+P83qPv/u+P9/7He/f9Gr/v/HJH4/xiO
|
||||||
|
9/8Xjff/FIv3/xOJ9/8RiPb/D4X2/wyE9v8Rhfb/L43v/wtm09EAU74xAAAAA////wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAXM9zC2bT8Uia7f9ntPn/WK75/1Ss
|
||||||
|
+f9Oqvn/Rab5/z6j+P83oPj/LJv4/ySY+f8kmPj/JJj4/ySY+f8kmPj/JZn5/zin+/+S0f3///////v9
|
||||||
|
/v+Y1P3/MaP6/xyR9/8Yjvf/Foz3/xSK9/8Siff/EIf2/w+G9v8qk/b/IHvh+QBczIEAV78H////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAVdUDAV3PgR92
|
||||||
|
2u9Yp/L/QKP5/yGU+P8glPj/IZb4/yOX+P8kmPj/JZn5/yaa+f8mmvn/J5v5/yeb+f8nmvn/MKL6/23C
|
||||||
|
/P/k8/7////////////v+P7/Ybz8/ymd+f8bkPf/F433/xaM9/8Uivf/EYj2/xiL9v85mPX/CmXT2wBb
|
||||||
|
zjn///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8BAFzOEwJf0I8adNr1XbD4/zmh+P8ilvj/I5j4/ySZ+P8mmvj/J5v4/yic+P8pnPj/KZz4/ymc
|
||||||
|
+P8qnfj/SrD7/8Hl/f/8/v7/////////////////w+b+/0iw+/8ilfj/GY/3/xeN9/8Vi/f/E4n2/ySR
|
||||||
|
9/81j+3/AFzO4QBbzlMAWs8H////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////AQBd0QkAXM6JIHnb+Vut9f8/pPn/JZn4/yeb+f8pnPj/Kp35/yue
|
||||||
|
+f8rn/n/LJ/5/yue+f8rnfj/otX8//7///////////////7+/v//////+vz+/6XZ/P88qfr/HJH4/xiO
|
||||||
|
9/8WjPf/E4r3/xmM9/84m/f/Mo3q/xZx2v0HY9LHAFzOSwBbzhcAXs8D////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAWssNBWHQpSqC4PlgsPf/OqT5/ymd
|
||||||
|
+f8qnvn/LJ/5/y2g+v8toPn/LaD5/yOX+f9csPn/9vr+///////+/v7////////////+/v7//////+v2
|
||||||
|
/v9ywPv/I5f4/xqP9/8Xjff/FIv3/xKJ9/8Vifb/KZL3/zaV9P8vien9FXDZ7wRf0KkAXM1ZAFnSCf//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAFzNIwVi
|
||||||
|
0a8uheL9Z7n6/zql+f8sn/n/LaH6/y+i+v8wo/r/J5v4/zKZ+P/F4vz///////7+/v//////////////
|
||||||
|
///////////////////a7v7/L534/xyS+P8Yjvf/FYz3/xOJ9/8RiPb/D4b2/xSH9v8jjvf/OZXy/y6H
|
||||||
|
6P0Qa9bnAFzOqQBbzTsAWcsF////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////AQBbzisAW87VUKPv/1ay+v8vofr/MKP6/zGk+v8zpfr/E4b2/3i4+f/S5/3/1Oj9/9zs
|
||||||
|
/f/4+/7/////////////////1en9/9bq/f/W6v3/hcL6/xqP9/8Zj/f/Foz3/xSK9/8RiPf/D4X2/w2E
|
||||||
|
9v8Kgvb/DIL1/yqQ9v9CnPb/LILk/QVg0P0AW82X////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8BAFzPEQBczn8fd9rvaLb3/0es+v8wovr/MaT6/zOl+v80p/r/GIz3/yqS
|
||||||
|
9/8zl/f/MZb2/1Gk+P/c7P3//v7+////////////PJ74/zWY9/80mPf/LZX3/xeM9/8Zjvf/F433/xWL
|
||||||
|
9/8SiPf/D4b1/w2E9v8Rhfb/J5D2/zaV9P8wiOn9GnLb8wVg0LMAW81b////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAFvNdR112e9msPL/Tq76/zGj+v8xo/r/M6b6/zWn
|
||||||
|
+v83qfv/M6X6/y+h+v8tofr/JZn4/zSX9//V6f3///////7+/v/+/v7/LKD6/x6T+P8dkff/G5D3/xqQ
|
||||||
|
9/8aj/f/F433/xWL9/8Siff/E4j2/ymS9/9Dnvj/No7r/xhx2v0IY9LNAFrNUQBbzRsAWcwD////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////AQBczQsAXM1rIHfb/2ay9f9Sr/r/LaD6/y+i
|
||||||
|
+v8xpPr/NKb6/zeo+/84qvv/Oqz7/zqr+/84qvv/LqD6/zaY+P/V6f3/////////////////M6b6/ySY
|
||||||
|
+f8ilvj/H5T4/x2S+P8akPf/F433/xmN9/8ul/j/SaD0/z6S6/8ZctntAFvOtwBczk0AXNEJ////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAFrNCwBbzWcWcNjpZbD0/1ax
|
||||||
|
+v8voPn/LaD6/y+i+f8ypPr/NKf6/zeo+/85q/v/PK36/zus+/85q/v/LqH6/zaY+P/V6f3//v7+////
|
||||||
|
////////MaP5/ySY+P8il/j/H5T3/x2S+P8akPj/F433/y6Y9/9MoPP/Hnbb8wdi0bEAXM5jAFvRD///
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAFzOWRNu
|
||||||
|
1+deqPD/WrL6/y2e+f8qnfn/LaD6/y+i+v8xpPr/NKb6/zeo+/84qvv/Oqz6/zqr+/84qvv/LqD6/zaY
|
||||||
|
+P/V6f3///////7+/v/+/v7/LKD5/yOY+P8ilvj/H5T4/xyS9/8akPj/F433/zGZ+P9MnvD/AFzNzwBc
|
||||||
|
zSUAXNED////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBY
|
||||||
|
ywMAW81RC2fT+1ai7P+Bwfj/XbP5/1ax+v9Mrfn/RKr6/0Kq+v9Aqvr/O6n6/zWn+v83qfv/OKn7/zip
|
||||||
|
+/83qPv/LKD5/zaY+P/V6f3/////////////////Jpr4/yKX+P8ilvj/H5T4/x2S+P8akPf/F433/xyP
|
||||||
|
9/9Tqfj/GnLY5QBdzlH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////AQBdzwcAW86bCWPR3yt/3fEzheD9Po3j/0mV5v1WoOr9Yqvw/2ey9P9ruPf/ar37/0Ks
|
||||||
|
+v81p/r/Nqj6/zan+/81p/r/K575/y6U9/+y1vz/1Oj9/9To/f/U6P3/IZb4/yGV+P8hlvj/HpP3/xyR
|
||||||
|
+P8aj/f/F433/xWL9/85nPj/QZHo/QNfz5UAXc4N////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wEAW84dAFzOMQFdzjkAW81HAFzOawNfzocLZdKlEmzVzxZv
|
||||||
|
1u0acdf9ZbP0/1e1+v8zpfr/M6X6/zOl+v8ypfr/LJ/5/xaK9v8ji/b/Ko/2/yqP9v8qj/b/Eor3/yGV
|
||||||
|
9/8glfj/HZL4/xyR9/8Zj/f/Foz3/xSK9/8ZjPf/VqTx/xdv19cAXM4t////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wEAXM6/X63y/1Wz+/8wo/r/MKP6/zCj+v8wovr/L6L6/y6h+v8sn/n/Kp35/yic
|
||||||
|
+f8mmvj/JJj4/yGW+P8klvj/LZr4/yeW+P8ekff/FYz3/xOJ9/8RiPb/Q5/2/zeH4v8FYM97////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////AQBZ2QUAW87DZLH0/1Cw+v8uofr/LqH6/y6h+f8uofr/LKD5/yyf
|
||||||
|
+f8qnfn/KJz4/yeb+f8lmfn/Ipf4/yGW+P9Lqfn/Xa31/1ut9/9Uq/j/QaD4/zCY+P8fj/b/KJL2/02c
|
||||||
|
7v0RadTZAFnMCf///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////AQBb0Q8AW87HabX2/0ut+v8rn/n/LJ/5/yyf
|
||||||
|
+f8toPn/V7L6/2G2+v83o/n/J5v5/yWZ+f8jl/j/IZb4/y2b+P9tuPn/G3LX/xpx2P8sf9/7SJns/1mo
|
||||||
|
9P9hr/j/Xa35/2iw9/8keNv7AFvORf///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBdzxsAXM7Nbrn4/0Oo
|
||||||
|
+f8pnPn/Lp/5/0aq+v9uuvj/XKXs/1Kf6/9vufn/LJz5/yOX+P8hlvj/H5T4/0Sl+f9bpe7/AFzNsQBa
|
||||||
|
zCkAW85fAF3OpQBczckJY9LXJn3f80SS6P06iuP/AFzOtQBf0gv///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBd
|
||||||
|
zyUAXM7Rcrz6/z6l+f8yoPn/XbT6/2ix8/89jOL9B2LQvQ1o1NNWou3/WbH6/yaY+P8flPj/IpX4/1iu
|
||||||
|
+f87ieH9AFzOY////wH///8BAF3QAwBdzRMAW805AFzOZwBbzYsCXc6vAFzOuwBczh////8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////AQBbzy8AXM7Vd7/6/1aw+v9wvPr/Up7r/xtx1+8GYdGFAFzPIQBbzlsRatXnb7j3/0Sm
|
||||||
|
+f8elPj/Kpj4/2Gu9v8ec9f9AFnNGf///wH///8B////Af///wH///8B////AQBZywcAW84ZAFzNKQBc
|
||||||
|
zQf///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////AQBczjkFYtLXhcT5/2uv8f8uf9zxAFzPqQBczi////8B////Af//
|
||||||
|
/wEAW851I3nb+Wmz9/83nvj/OJ74/1ih7P0RatS7////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////AQBbzkMIY9HfSJTl/Rtx1tUBXc51AFrOD///
|
||||||
|
/wH///8B////Af///wEAV84LB2PRsz6P5f9ksvj/WKz4/0GN4/8FYM5v////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBbzVcBXM7rCGLRowBb
|
||||||
|
zzMAWs4H////Af///wH///8B////Af///wH///8BAFvNNwxm0tFXo+7/cbX2/yt+3esAXM47////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBZ
|
||||||
|
zA8AXMwt////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBczk8KZdLhU5vp/w1l
|
||||||
|
0a8AW84Z////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBd
|
||||||
|
zwcAXM55CmPR/wBczYkAXM0F////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wEAW84PAFzOmwBbzTf///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8BAAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAA
|
||||||
|
AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA
|
||||||
|
//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAA
|
||||||
|
AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA
|
||||||
|
//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAA
|
||||||
|
AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA
|
||||||
|
//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//KAAAAEAAAACAAAAAAQAgAAAA
|
||||||
|
AAAAQgAAAAAAAAAAAAAAAAAAAAAAAP///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAAAAAwAAAAMAAAADAAAABQAAAAUAAAAFAAAABQAA
|
||||||
|
AAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAADAAAAA////wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wEAAAADAAAAAwAAAAUAAAAFAAAABQAAAAcAAAAHAAAABwAA
|
||||||
|
AAcAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAHAAAABwAAAAcAAAAHAAAABQAA
|
||||||
|
AAUAAAAFAAAAA////wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAAAAAwAAAAMAAAAFAAAABQAAAAcAAAAHAAAACQAA
|
||||||
|
AAkAAAAJAAAACwAAAAsAAAALAAAACwAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAALAAAACwAA
|
||||||
|
AAsAAAALAAAACQAAAAkAAAAJAAAABwAAAAcAAAAFAAAABQAAAAMAAAAD////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAAAADAAAABQAAAAUAAAAHAAAABwAA
|
||||||
|
AAkAAAAJAAAACwAAAAsAAAANAAAADQAAAA0AAAAPAAAADwAAAA8AAAAPAAAADwAAABEAAAARAAAAEQAA
|
||||||
|
AA8AAAAPAAAADwAAAA8AAAAPAAAADQAAAA0AAAANAAAACwAAAAsAAAAJAAAACQAAAAcAAAAHAAAABQAA
|
||||||
|
AAUAAAAD////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQAAAAMAAAAFAAAABQAA
|
||||||
|
AAcAAAAJAAAACQAAAAsAAAALAAAADQAAAA0AAAAPAAAADwAAABEAAAARAAAAEQAAABMAAAATAAAAEwAA
|
||||||
|
ABMAAAATAAAAEwAAABMAAAATAAAAEwBIn0EAWcirAAwYFQAAABEAAAARAAAADwAAAA8AAAAPAAAADQAA
|
||||||
|
AA0AAAALAAAACQAAAAkAAAAHAAAABQAAAAUAAAAD////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAAAAAwAA
|
||||||
|
AAMAAAAFAAAABwAAAAkAAAAJAAAACwAAAA0AAAANAAAADwAAAA8AAAARAAAAEwAAABMAAAATAAAAFQAA
|
||||||
|
ABUAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAnYicAXM7/AFzO/wBKoU0AAAAVAAAAFQAA
|
||||||
|
ABMAAAATAAAAEQAAABEAAAAPAAAADQAAAA0AAAALAAAACQAAAAkAAAAHAAAABQAAAAUAAAAD////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8BAAAAAwAAAAUAAAAHAAAABwAAAAkAAAALAAAACwAAAA0AAAAPAAAAEQAAABEAAAATAAAAEwAA
|
||||||
|
ABUAAAAXAAAAFwAAABkAAAAZAAAAGQAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAACRsAWcfBAmHR+wZi
|
||||||
|
0f0AVr6VAAAAGQAAABcAAAAXAAAAFQAAABUAAAATAAAAEQAAABEAAAAPAAAADQAAAA0AAAALAAAACQAA
|
||||||
|
AAcAAAAHAAAABQAAAAP///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8BAAAAAwAAAAUAAAAHAAAABwAAAAkAAAALAAAADQAAAA8AAAAPAAAAEQA5
|
||||||
|
eSkAWMWrAD6NOwAAABcAAAAXAAAAGQAAABsAAAAbAAAAHQAAAB0AAAAdAAAAHwAAAB8AAAAfAAAAHwAA
|
||||||
|
AB8AUbaLAF3P/R6E7v8UdeL/AFzM4QAAABsAAAAbAAAAGQAAABkAAAAXAAAAFQAAABUAAAATAAAAEQAA
|
||||||
|
AA8AAAAPAAAADQAAAAsAAAAJAAAACQAAAAcAAAAFAAAAA////wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAAAAAwAAAAUAAAAHAAAABwAAAAkAAAALAAAADQAA
|
||||||
|
AA8AAAARAAAAEQAAABMAS6dPAFzO/wBczv8AU7mFAAkaHwAAABsAAAAdAAAAHwAAAB8AAAAhAAAAIQAA
|
||||||
|
ACEAAAAjAAAAIwAAACMARZddAF3P/RR65v8nj/b/JIbu/wBczv8ANnU9AAAAHQAAABsAAAAbAAAAGQAA
|
||||||
|
ABcAAAAXAAAAFQAAABMAAAARAAAAEQAAAA8AAAANAAAACwAAAAkAAAAJAAAABwAAAAUAAAAD////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAAAAAwAAAAMAAAAFAAAABwAA
|
||||||
|
AAkAAAALAAAADQAAAA8AAAAPAAAAEQAAABMAAAAVAEWdRwBczv8aeOH/A1/Q/QBbydcAPYVHAAAAHwAA
|
||||||
|
ACEAAAAjAAAAIwAAACUAAAAlAAAAJQAAACcAKlw9AFvM8Q1v3f0skvb/HYv2/ymR9v8GYtD9AE+wgQAA
|
||||||
|
AB8AAAAfAAAAHQAAABsAAAAZAAAAGQAAABcAAAAVAAAAEwAAABEAAAARAAAADwAAAA0AAAALAAAACQAA
|
||||||
|
AAcAAAAFAAAABQAAAAP///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQAA
|
||||||
|
AAMAAAAFAAAABwAAAAkAAAALAAAACwAAAA0AAAAPAAAAEQAAABMAAAAVAAAAFwA/jj0AXM7/N5Ty/zyZ
|
||||||
|
8/8Tb9n7AFzO/QBTt5EADSApAAAAJQAAACcAAAAnAAAAKQAAACkACxwvAFnG0Qdl1Psukvb/Io73/wmB
|
||||||
|
9v8pkfb/E3Hd/wBZx8kAAAAjAAAAIQAAAB8AAAAdAAAAGwAAABkAAAAZAAAAFwAAABUAAAATAAAAEQAA
|
||||||
|
AA8AAAANAAAADQAAAAsAAAAJAAAABwAAAAUAAAAD////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wEAAAADAAAABQAAAAcAAAAJAAAACwAAAA0AAAAPAAAAEQAAABEAAAATAAAAFQAA
|
||||||
|
ABcAN3gzAFzO/zSS8P9Bn/j/QJ/4/yqH6P8FYND9AFvJ3wA6hlUAAAApAAAAKQAAACsAAAAtAFC1owFe
|
||||||
|
z/0rjvH/LZX3/w6E9v8Lgvb/Io73/yOE6/8AXM79ABtAMQAAACEAAAAhAAAAHwAAAB0AAAAbAAAAGQAA
|
||||||
|
ABcAAAAVAAAAEwAAABMAAAARAAAADwAAAA0AAAALAAAACQAAAAcAAAAFAAAAA////wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAAAAAwAAAAUAAAAHAAAACQAAAAsAAAANAAAADwAA
|
||||||
|
ABEAAAATAAAAFQAAABUAAAAXACZZKQBczv8uju7/NJr3/x+P9/88nfj/Ppr0/xdy2/0AXc/9AFG1nwAP
|
||||||
|
JDMAAAAtAEOXcwBczf8jher/N5r4/xWI9v8Nhfb/DIT2/xiJ9v8xlPb/A17Q/wBJoW0AAAAjAAAAIQAA
|
||||||
|
AB8AAAAdAAAAGwAAABkAAAAXAAAAFwAAABUAAAATAAAAEQAAAA8AAAANAAAACwAAAAkAAAAHAAAABQAA
|
||||||
|
AAMAAAAD////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQAAAAMAAAAFAAAABwAA
|
||||||
|
AAkAAAALAAAADQAAAA8AAAARAAAAEwAAABMAAAAVAAAAFwARKx8AXM7/LY7t/zqc+P8Tivf/Fov3/zCY
|
||||||
|
+P9Fovn/MIzr/wdi0P0AXMrlAEijfwBczfcXd+D/Pp74/x+P9/8Qh/b/D4b2/w6F9v8Phfb/NJj3/xJv
|
||||||
|
2vsAVr2vAAAAIwAAACEAAAAfAAAAHQAAABsAAAAZAAAAFwAAABcAAAAVADZyJwBQtVkAWcehAE+zSwAA
|
||||||
|
AAsAAAAJAAAABwAAAAUAAAADAAAAA////wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wEAAAADAAAABQAAAAcAAAAJAAAACwAAAA0AAAAPAAAADwAAABEAAAATAAAAFQAAABcAAAAZAF3O/S2M
|
||||||
|
7P9AoPj/FYv3/xWL9/8Vi/f/IZH3/0Cg+P9Dn/X/G3fd/QBczv8LaNb9P5/4/y+X+P8Siff/EYj3/xGH
|
||||||
|
9v8Qh/b/D4b2/y2V9/8kgub/AFzN8wAHDiUAAAAhAAAAHwAAAB0ACRIdAEGRQwBRuHcAWMSpAFvM4wBc
|
||||||
|
zv8AXM7/AFzO/wBbzNcAAAALAAAACQAAAAcAAAAFAAAAA////wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8BAAAAAwAAAAUAAAAHAAAACQAAAAkAAAALAAAADQAAAA8AAAARAAAAEwAA
|
||||||
|
ABUAAAAXAAAAFwBdzvUriun/RaT5/xeN9/8Xjff/F433/xeN9/8Zjvf/M5v4/0mm+f84lvH/Pp32/zyf
|
||||||
|
+P8Wi/f/FIr3/xOK9/8Siff/EYj3/xCH9v8ij/f/N5Xy/wFdzv8AR6FlAEedXwBUuY8AWcjHAFzN9wBc
|
||||||
|
zv8CXs79DGva+xN24/8jhO3/Hn/q/wBczv8AS6ozAAAACwAAAAkAAAAHAAAABQAAAAP///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAAAADAAAABQAAAAcAAAAJAAAACwAA
|
||||||
|
AA0AAAAPAAAADwAAABEAAAATAAAAFQAAABcBXc7rKojo/0un+f8Zjvf/GY/3/xmP9/8Zj/f/GY/3/xmO
|
||||||
|
9/8jk/f/O5/4/zad+P8cj/f/Foz3/xaM9/8Vi/f/FIr3/xOK9/8Siff/F4v2/z6e+P8NZNH/AFzO/wBc
|
||||||
|
zv8IZNP5FHTf/x6A6P8oi/H/LpL3/y2S9/8pj/f/KY/3/xJu2vsAW8y/AAAACwAAAAkAAAAHAAAABQAA
|
||||||
|
AAMAAAAD////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAAAAAwAA
|
||||||
|
AAUAAAAFAAAABwAAAAkAAAALAAAADQAAAA8AAAAPAAAAEQAAABMAAAAVAV3N4SiF5v9Rq/r/G5D4/xuQ
|
||||||
|
+P8bkPj/G5D4/xuQ+P8bkPj/GpD4/xqQ9/8Zj/f/GY/3/xiO9/8Xjff/F433/xaM9/8Vi/f/FIr3/xKJ
|
||||||
|
9/83m/j/NZTy/yyM7f84mPX/Opv4/zeZ+P8sk/f/IIz2/xSG9v8Jf/X/F4b2/ymL8f8CXc7/AFS4TwAA
|
||||||
|
AAkAAAAHAAAABwAAAAUAAAAD////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wEAAAADAAAABQAAAAcAAAAHAAAACQAAAAsAAAANAAAADQAAAA8AAAARAAAAEwFd
|
||||||
|
zNclg+X/WK76/xyS+P8dkvj/HZL4/x2S+P8dkvj/HJL4/xyR+P8ckfj/G5H4/xuQ+P8dkvj/I5j4/xmO
|
||||||
|
9/8Xjff/Foz3/xWL9/8Uivf/GYz3/zKY+P8wl/f/JJD3/xeK9v8Ng/b/C4L2/wmB9v8IgPX/B3/1/yyS
|
||||||
|
9/8ad+D/AFzN3QAAGgsAAAAHAAAABwAAAAUAAAAD////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////AQAAAAMAAAAFAAAABQAAAAcAAAAJAAAACwAA
|
||||||
|
AAsAAAANADVyHQBIoTkAXM7/IoDi/12x+v8fk/j/HpP4/x+U+P8flPj/H5T4/x6T+P8ek/j/HpP4/x2S
|
||||||
|
+P8elPj/Oaz7/z6v/P8wo/r/GY/3/xiO9/8Xjff/FYz3/xSK9/8Tiff/Eoj3/xCH9v8Phvb/DYT2/wyD
|
||||||
|
9v8Kgvb/CYH2/xiI9v80k/T/BmHQ/QBYw2sAAAAHAAAABQAAAAUAAAAD////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBmzAUAYM8hAFnGPwBb
|
||||||
|
yV8AWsp9AFvMmwBczLkBXc7dAF3P9QBczv8AXM7/AFzO/ymG5f9fs/r/Ipb4/yCV+P8glfj/IJX4/yCV
|
||||||
|
+P8glfj/IJX4/x+U+P8flPj/M6X7/1G3/P+z4P7/Pq/8/yWb+f8Zj/f/GI73/xeN9/8WjPf/FIv3/xOJ
|
||||||
|
9/8RiPf/EIf2/w6F9v8NhPb/C4P2/wqB9v8vlPf/JIHm/wBcz/MAOY4TAAAABQAAAAMAAAAD////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBc
|
||||||
|
zv8AXM7/AFzO/wBczv8CXs/9DmnV+Rt12/sngOH/M4zn/z+V7P9KoPD/VKn1/2Cy+f9jtfr/Sqn5/yKW
|
||||||
|
+P8il/j/Ipf4/yKX+P8il/j/Ipf4/yKW+P8hlvj/LJ/6/z+v/P/K6f7//////4nO/f88rfz/H5T5/xqP
|
||||||
|
9/8Yjvf/F433/xWM9/8Uivf/E4n3/xGI9v8Qhvb/DoX2/wyE9v8WiPb/PJr3/w5n1PsAWsuNAAAABQAA
|
||||||
|
AAP///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wEAXc/JAFzO/ziP6v9lsff/Z7X6/2a1+v9ntfr/ZLT6/12x+v9Urfr/TKr5/0Sm
|
||||||
|
+f88o/n/M574/yOY+f8kmPn/JJj5/ySY+f8kmPn/JJj5/ySY+f8jmPn/J5r5/z2t/P+S0v3/////////
|
||||||
|
///2+///Wbr8/zWn+/8bkPj/Go/3/xiO9/8Xjff/FYv3/xSK9/8Siff/EYf2/w+G9v8Nhfb/L5X3/zGM
|
||||||
|
6/8AXc79AFi/If///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAFXVBwBczrcFYtL7Z7D1/2m2+v80nfn/JJX4/x6T
|
||||||
|
+P8glPj/IZX4/yKW+P8jl/j/JJj5/ySZ+f8lmfn/Jpr5/yaa+f8mmvn/Jpr5/yaa+f8mmvn/Jpn5/ziq
|
||||||
|
/P9fvf3/+fz//////////////////9Xu/v9BsPz/K5/6/xuQ+P8Zj/f/GI73/xaM9/8Vi/f/E4r3/xKI
|
||||||
|
9/8Qh/b/FYj2/0Of+P8Xcdr7AFzPq////wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAZswLAF3PyQll
|
||||||
|
0vtcrPb/YLL6/ySW+P8glfj/IZb4/yKX+P8jmPn/JJn5/yWZ+f8mmvn/J5v5/yeb+f8onPn/KJz5/yic
|
||||||
|
+f8onPn/KJv5/zKk+/9Dsfz/3PH+////////////////////////////oNf+/z2u/P8il/j/G5D4/xmP
|
||||||
|
9/8Xjff/Foz3/xSL9/8Tiff/EYj2/y2V9/9AmPH/AV3O/wBbzTn///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////AQBVzA8BXtDXDmnV+2Oy+P9es/r/JZj4/yKX+P8kmPn/JZn5/yaa+f8nm/n/KJz5/ymc
|
||||||
|
+f8pnfn/Kp35/yqd+f8qnfn/Kp35/yuf+f81p/v/ptn9//////////////////////////////////3+
|
||||||
|
//9pwf3/OKr8/x2R+P8akPj/GY73/xeN9/8Vi/f/FIr3/xKI9/88nfj/MIjn/wBczv8AXM+lAFrPJf//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAF3RFwFdz+ESbtb7arb4/12z+v8nmfn/JZn5/yaa
|
||||||
|
+f8om/n/KZz5/yqd+f8qnvn/K575/yuf+f8sn/n/LJ/5/yyf+f8qnvn/Y7j7//7/////////////////
|
||||||
|
////////////////////////5fT+/0Wx+/8vovr/G5H4/xmP9/8Yjvf/Foz3/xSL9/8Tiff/JpP3/0yl
|
||||||
|
+P84kez/EmvW+wBdzv0AXM+fAGDPIf///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAWssjAV3P6Rh1
|
||||||
|
2/twu/r/XbP7/yea+f8onPn/KZ35/yqe+f8rn/n/LJ/6/y2g+v8toPr/LqH6/y6h+v8lmfn/MZz4/+j0
|
||||||
|
/v////////////////////////////////////////////////+y3f3/M6X6/yOX+f8akPj/GY73/xeN
|
||||||
|
9/8Vi/f/E4r3/xKI9/8ejvf/PJz4/0uj+P81juz/D2rW+wBczvsAW86XAF7QG////wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////AQBbzC0BXM/xIHve/XS9+/9bs/r/KZ35/yqe+f8sn/n/LaD6/y6h+v8vofr/L6L6/y+i
|
||||||
|
+v8nmvr/FYv3/7PZ/P///////////////////////////////////////////////////////////2+9
|
||||||
|
+/8qnfn/HJL5/xmP9/8Yjvf/Foz3/xSK9/8Siff/EIf2/w+G9v8djPf/PJv4/0mh+P8xi+r/DWfU+wBc
|
||||||
|
z/kAXM2RAFnTF////wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAF3MNwBdz/koguH9ecH7/1Wx+v8sn/r/LaD6/y6h
|
||||||
|
+v8vovr/MKP6/zGk+v8tofn/DYX3/2ey+f//////////////////////////////////////////////
|
||||||
|
///////////////////v+P//OaH5/yGV+P8akPj/GI73/xaN9/8Vi/f/E4n3/xGI9v8Phvb/DYT2/wuD
|
||||||
|
9v8civf/PJv3/0ef9/8viOn/C2bT+wBdzvcAXM6JAFnMFf///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAW85DAFzO/zuT
|
||||||
|
6f99xPv/MqL6/y+h+v8wo/r/MaT6/zKk+v8zpfr/EIf2/yKL9v/y+P7/////////////////////////
|
||||||
|
/////////////////////////////////////////////8Lh/f8aj/f/G5D4/xmP9/8Xjff/FYv3/xOK
|
||||||
|
9/8RiPf/EIb2/w6F9v8Mg/b/CoL2/wiA9f8bifb/Opn3/0Wd9v82i+n/CmTS+wBczv8AXM1t////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8BAF3PhQBczv9XqPL/esP8/y+h+v8wovr/MaT6/zKl+v80pvr/NKf6/wR89v8vkvf/Vab4/1Wm
|
||||||
|
+P9Vpvj/Vab4/5HF+////////////////////////////1qq+P9bq/n/XKz5/12t+f9ervn/II/3/xWM
|
||||||
|
9/8Zj/f/F433/xaM9/8Uivf/Eoj3/xCH9v8Ohfb/DIT2/wqC9v8IgPb/GIj2/zqZ9/9In/j/PpHt/w9p
|
||||||
|
1fsAXM7/AFzOjf///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8BAFzPewBczv9Qoe7/gMX7/0ar+/8vovr/MaP6/zKl+v80pvr/Naf7/zao
|
||||||
|
+/8nm/n/E4r3/xKJ9/8Siff/EYn2/wZ+9f9aqPn///////////////////////////8jl/n/EIb3/w2E
|
||||||
|
9v8NhPb/DYT2/w+H9v8aj/j/Go/3/xiO9/8WjPf/FIr3/xKJ9/8Qh/b/DoX2/wyE9v8di/f/QJz4/0+k
|
||||||
|
+P84j+z/EmvW+wBbzv8AXM6nAFnMKf///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAFvObQBczf9JnOz/g8b7/0ms+/8uofr/MKP6/zKk
|
||||||
|
+v8zpvr/Naf7/zeo+/84qvv/Oar7/zmq+/84qvv/N6n7/zao+/8Siff/Wqj5////////////////////
|
||||||
|
////////Nqn7/yOY+f8kmPn/Ipb4/yCV+P8ek/j/HJH4/xqQ9/8Yjvf/Foz3/xSL9/8Siff/EIf2/yKP
|
||||||
|
9/9FoPj/Vqj5/z2T7f8TbNb7AFvO/wBczqcAWcwp////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAFzNYQBczv9Dl+v/hcf8/06u
|
||||||
|
+v8toPr/LqH6/zCj+v8ypfr/NKb6/zao+/84qfv/Oav7/zqs+/87rPv/Oqv7/ziq+/83qPv/E4n4/1qo
|
||||||
|
+f///////////////////////////zmr+/8mmvn/JJj5/yKW+P8glfj/HpP4/xyR+P8akPj/GI73/xaM
|
||||||
|
9/8Ui/f/JpP4/0uk+P9crfn/Qpbt/xVu1/sAW87/AFzOpwBc0Sf///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAFzNVwBd
|
||||||
|
z/09kuj/h8f8/1Kw+v8rnvn/LaD6/y+i+v8xo/r/M6X6/zSn+v82qPv/OKr7/zqs+/88rfv/PK77/zus
|
||||||
|
+/85q/v/N6n7/xOJ+P9aqPn///////////////////////////84qfv/JZn5/ySY+f8il/j/IJX4/x6T
|
||||||
|
+P8ckvj/GpD4/xiO9/8Wjff/N5z4/2Kw+v9Gmu7/Fm7X+wBdz/0AXM6nAFzRJ////wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8BAFvNTQBczvs2jOb/iMf8/1ex+v8pnfn/K575/y2g+v8vovr/MaP6/zOl+v80p/r/Nqj7/ziq
|
||||||
|
+/86rPv/PK37/zyu+/87rPv/Oav7/zep+/8Tifj/Wqj5////////////////////////////NKX6/yOY
|
||||||
|
+P8kmPn/Ipf4/yCV+P8ek/j/HJL4/xqQ+P8Yjvf/Fo33/1ar+f86j+n/AFzO/wBczqcAXNEn////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8BAF3NQwBdz/kvh+P/h8b8/12z+/8nm/n/KZz5/yue+f8toPr/L6H6/zCj
|
||||||
|
+v8ypfr/NKb6/zao+/84qfv/Oav7/zqs+/87rPv/Oqv7/ziq+/83qPv/E4n4/1qo+f//////////////
|
||||||
|
/////////////y+i+v8jmPf/JJj5/yKW+P8glfj/HpP4/xyR+P8akPj/GI73/xaM9/9Kpvn/UqDv/wBc
|
||||||
|
zv8AXswf////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAFvNOQBdzvcoguD9icb7/4rI+/9Xsfr/S6z6/0Cn
|
||||||
|
+v81o/n/LZ/6/y6h+v8wo/r/MqT6/zOm+v81p/v/N6j7/ziq+/85qvv/Oar7/ziq+/83qfv/Nqj7/xKJ
|
||||||
|
9/9aqPn///////////////////////////8qnfn/IZf4/ySY+f8ilvj/IJX4/x6T+P8ckfj/GpD3/xiO
|
||||||
|
9/8WjPf/J5X4/2iz+f8Vbdb7AF3Oh////wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAFnMFQBczv8AXM7/P5Hn/2Sq
|
||||||
|
7/9osPP/eLz4/4jH+/+Myvz/jcv8/43L/P+Cxvz/dsL8/2u9+/9bt/v/Nqf6/zWn+/82qPv/N6n7/zep
|
||||||
|
+/83qPv/Nqj7/zSn+v8SiPf/Wqj5////////////////////////////Jpr5/yCV+P8jmPn/IZb4/x+U
|
||||||
|
+P8ek/j/HJH4/xqP9/8Yjvf/Foz3/xSK9/9ZrPn/Q5Pp/wBdz+8AbdsH////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBt
|
||||||
|
2wcAW86XAFzOtwFdz9UBXc7zAFzO/wBczv8AXM7/D2nT+SR62/s3iuP/SZrq/1uo7/9ttvT/i8v8/2u+
|
||||||
|
+/80pvr/Naf6/zWn+/81p/v/Naf7/zSm+v8zpfr/Eon3/zyZ9/+q0vz/qtL8/6rS/P+q0vz/qtL8/x+V
|
||||||
|
+f8ek/j/I5f4/yGV+P8flPj/HZL4/xuR+P8Zj/f/F433/xaM9/8Uivf/NJn4/2ex9/8JYtD/AFzOX///
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////AQBVzA8AXtAxAFvNUQBdzXEAW86RAF7PtQFe
|
||||||
|
0NkBXM73AFzO/0+k7/+DyPz/MqX6/zOl+v8zpfr/M6b6/zOl+v8ypfr/MaT6/yGW+f8CevX/AHn1/wB5
|
||||||
|
9f8AefX/AHn1/wB59f8Jgvb/IZX4/yKX+P8glfj/HpP4/x2S+P8bkPj/GY/3/xeN9/8Vi/f/E4r3/xSJ
|
||||||
|
9/9lsvn/M4bj/QBdzs3///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////AQBdzv1UpO7/fcX8/zCj+v8xpPr/MaT6/zGk+v8xpPr/MaP6/zCj
|
||||||
|
+v8vovr/LqH6/yyg+v8rnvn/KZ35/yic+f8mmvn/JZn5/yOX+P8hlvj/H5T4/x6T+P8ckfj/GpD4/xiO
|
||||||
|
9/8Wjff/FYv3/xOJ9/8RiPb/Q6D4/2Co8/8CXc7/AF3ONf///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////AQCA/wMAXM7/XKrx/3fC/P8vovr/L6L6/y+i
|
||||||
|
+v8vovr/L6L6/y+i+v8uofr/LaD6/yyf+v8rnvn/Kp35/yic+f8nm/n/JZn5/ySY+f8il/j/IJX4/zig
|
||||||
|
+f9fsvr/Wq/6/0Kj+P8ql/j/F4z3/xSK9/8Siff/EIf2/xuM9v9ttfr/JXfY+wBczqH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAVdUTAFzO/2Ov
|
||||||
|
8/9wvvz/LaD6/y2g+v8uofr/LqH6/y2h+v8toPr/LKD6/yyf+f8rnvn/Kp35/yic+f8nm/n/Jpr5/ySY
|
||||||
|
+f8jl/j/IZb4/ySX+P98wPv/Xqnx/12p8v92uvj/er76/3O5+v9arfn/QaD5/ymU9/8Sh/b/Uqf5/1Gd
|
||||||
|
7v8AXM/5AFnMFf///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8BAF3RIQBczv9rtPX/abv7/yue+f8rn/n/LJ/5/yyf+f8sn/n/LqH5/161+v9+w/v/arv7/yye
|
||||||
|
+f8nm/n/Jpr5/ySZ+f8jl/j/IZb4/yCV+P9BpPn/f8D5/whh0P8AXM7/AV3P/xlw2fk1iub/UaDv/2my
|
||||||
|
9/91ufr/cbf6/3G3+v9vtPn/EmrU+wBcz3X///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////AQBe0DEAXM7/crr3/2G2+/8pnfn/Kp35/yqd+f8qnfn/Qqj6/37E
|
||||||
|
+/+Fxfr/TJvq/4LD+v9ouPv/JZn5/ySY+f8jl/n/Ipb4/yCV+P8flPj/YrP6/2Go7v8AXc73AFjKHQBb
|
||||||
|
zVEAXM+PAF7PzwBdzv0AXM7/DmjV+SqB4v9Fluz/cLP2/0GQ5v8AXc/jAID/A////wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAXM9BAFzO/3i++f9as/r/J5v5/yic
|
||||||
|
+f8un/n/ZLj7/4zK/P9kq+//D2jS+wBczv8shOL9isj8/02r+v8jl/j/Ipb4/yCV+P8flPj/IZT4/4HC
|
||||||
|
+/85h+D9AFzOrf///wH///8B////Af///wEAXdELAF3NQwBbzn8AXc+/AFzO9wBczv8EX8//AFzO/wBd
|
||||||
|
z0v///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAF7PTwBc
|
||||||
|
zv9/w/v/Uq76/yaa+f9Fqfr/gcT8/3/A+P8yhOD9AF3P/QBdz48AXM9RAF3P/U6e7f+Gxvv/NJ/5/yCV
|
||||||
|
+P8flPj/HpP4/zuh+f+Ewvr/DWXS/QBczln///8B////Af///wH///8B////Af///wH///8B////AQBV
|
||||||
|
qgMAWs0zAFzPbwBczssAXM4v////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////AQBbz18BXc/9hcX7/1Sv+v9qufv/isj7/1ei7f8JY9H9AV3P1wBbzzX///8B////AQBb
|
||||||
|
zoMCXs/9bLT1/3i/+/8kl/j/HZP4/xyS+P9csPr/aKzw/wBczvsAVcwP////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wEAXc5vBGHS+YnH+/+Jx/v/d7n1/yZ52vsAXc/5AF3PeQBA
|
||||||
|
vwX///8B////Af///wEAVaoDAFzPxRBq1ft9wPr/YbP6/xyR+P8ckPj/fL/6/z2N4/0AXc+7////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BAFvOfw1q1fmHxfr/V5/p/wVf
|
||||||
|
0P8BXc7DAFrPJf///wH///8B////Af///wH///8B////AQBYzhsBXs/tKYLh/YXE+/9Fpfn/M5z4/4PC
|
||||||
|
+v8TadP9AF3NZ////wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AQBc
|
||||||
|
zo0HYM//HHHX+wBdz/MAW85j////Af///wH///8B////Af///wH///8B////Af///wH///8BAF3NRwBb
|
||||||
|
zv9Km+z/gcL7/2m1+v9usfP/AFvO/wBgyhn///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wEAXM25AFzO/wBdz6sAWdMX////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wEAXM2FAl7P/Wex9f+Dwvv/RpPm/wBdz8v///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAFnMKQBdzUP///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAFWqAwBdz8cQa9X7gsD6/xlu1PsAXM91////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wEAXtAbAF3P7x1x
|
||||||
|
2P8AXM7/AFzNJf///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////AQBbzkkAXM7/AFzO/////wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8BAF3PjwBczT3///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af//
|
||||||
|
/wH///8B////Af///wH///8B////Af///wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>2, 2, 2, 2</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
|
||||||
|
<value>CenterParent</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Text" xml:space="preserve">
|
||||||
|
<value>{0} {1} ist verfügbar!</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>$this.Name" xml:space="preserve">
|
||||||
|
<value>UpdateForm</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>$this.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
</root>
|