diff --git a/Pilz.Updating.Client.Gui/BaseFeatures.cs b/Pilz.Updating.Client.Gui/BaseFeatures.cs
index 67b74a8..8a142ea 100644
--- a/Pilz.Updating.Client.Gui/BaseFeatures.cs
+++ b/Pilz.Updating.Client.Gui/BaseFeatures.cs
@@ -1,6 +1,6 @@
using System.Runtime.InteropServices;
-namespace Pilz.Updating.GUIBase;
+namespace Pilz.Updating.Client.Gui;
internal static class BaseFeatures
{
diff --git a/Pilz.Updating.Client.Gui/UpdateClientGui.cs b/Pilz.Updating.Client.Gui/UpdateClientGui.cs
new file mode 100644
index 0000000..b01759d
--- /dev/null
+++ b/Pilz.Updating.Client.Gui/UpdateClientGui.cs
@@ -0,0 +1,173 @@
+using Pilz.UI;
+using Pilz.UI.Telerik.Dialogs;
+using Pilz.Updating.Client.Gui.LangRes;
+using Telerik.WinControls;
+
+namespace Pilz.Updating.Client.Gui;
+
+public class UpdateClientGui
+{
+ // E v e n t s
+
+ public event UpdateEndedEventHandler OnUpdateEnded;
+
+ // F i e l d s
+
+ private Form parentForm;
+ private UpdateWindow curProgressDialog;
+ private readonly UpdateClient updateClient;
+
+ // P r o p e r t i e s
+
+ public bool UseHiddenSearch { get; set; }
+
+ private static Image MyAppIcon => Icon.ExtractAssociatedIcon(IO.Extensions.GetExecutablePath()).ToBitmap();
+
+ // C o n s t r u c t o r s
+
+ public UpdateClientGui(UpdateClient updateClient)
+ {
+ this.updateClient = updateClient;
+ updateClient.OnStatusChanged += UpdateClient_OnStatusChanged;
+ }
+
+ ~UpdateClientGui()
+ {
+ updateClient.OnStatusChanged -= UpdateClient_OnStatusChanged;
+ }
+
+ // F e a t u r e s
+
+ public async Task UpdateInteractive(Form parentForm)
+ {
+ this.parentForm = parentForm;
+ await updateClient.UpdateInteractive();
+ }
+
+ private void EndUpdating()
+ {
+ EndUpdating(false);
+ }
+
+ private void EndUpdating(bool success)
+ {
+ curProgressDialog.AllowClose = true;
+ curProgressDialog?.Invoke(curProgressDialog.Close);
+ OnUpdateEnded?.Invoke(this, new(success));
+ }
+
+ // E v e n t s
+
+ private void UpdateClient_OnStatusChanged(object sender, UpdateStatusEventArgs e)
+ {
+ void setStatus()
+ {
+ if (e.Event == UpdateStatusEvent.PreEvent)
+ SetStatus(e.Status);
+ }
+
+ switch (e.Status)
+ {
+ case UpdateStatus.Downloading:
+ setStatus();
+ if (e.Event == UpdateStatusEvent.PostEvent)
+ {
+ if (e.Client.UpdatePackageInfo == null && !UseHiddenSearch)
+ RadMessageBox.Show(UpdatingClientGuiLangRes.MsgBox_NoUpdatesFound, UpdatingClientGuiLangRes.MsgBox_NoUpdatesFound_Titel, MessageBoxButtons.OK, RadMessageIcon.Info);
+
+ if (e.Client.UpdatePackageInfo != null && !ShowUpdatesAvailable(e.Client.UpdatePackageInfo))
+ e.Cancel = true;
+ }
+ break;
+ }
+
+ switch (e.Status)
+ {
+ case UpdateStatus.Downloading:
+ case UpdateStatus.Extracting:
+ case UpdateStatus.Copying:
+ case UpdateStatus.Cleanup:
+ case UpdateStatus.Waiting:
+ setStatus();
+ break;
+ }
+
+ switch (e.Status)
+ {
+ case UpdateStatus.Done:
+ EndUpdating(true);
+ break;
+ case UpdateStatus.Failed:
+ case UpdateStatus.Canceled:
+ EndUpdating();
+ break;
+ }
+ }
+
+ private void SetStatus(UpdateStatus status)
+ {
+ var useGui = false;
+
+ if (!(status == UpdateStatus.Searching && UseHiddenSearch))
+ {
+ useGui = true;
+ }
+
+ if (useGui && curProgressDialog is null)
+ {
+ parentForm.Invoke(() =>
+ {
+ curProgressDialog = new UpdateWindow(updateClient.ApplicationName);
+ curProgressDialog.SetStatus(UpdateStatus.Waiting);
+ curProgressDialog.Show(parentForm);
+ });
+ }
+
+ curProgressDialog?.Invoke(() =>
+ {
+ curProgressDialog.SetStatus(status);
+ curProgressDialog.Show(); // Might be hidden between update check and installation.
+ });
+ }
+
+ private bool ShowUpdatesAvailable(UpdatePackageInfo pkg)
+ {
+ var dres = default(DialogResult);
+ bool cancel;
+
+ // Hide progress dialog
+ curProgressDialog?.Invoke(new Action(curProgressDialog.Hide));
+
+ // Show updates available dialog
+ parentForm.Invoke(() =>
+ {
+ var dialog = new UpdatesAvailableDialog(
+ MyAppIcon,
+ updateClient.CurrentVersion.Version.ToString(),
+ updateClient.CurrentVersion.Channel.ToString(),
+ updateClient.CurrentVersion.Build.ToString(),
+ pkg.Version.Version.ToString(),
+ pkg.Version.Channel.ToString(),
+ pkg.Version.Build.ToString(),
+ pkg.Notes,
+ updateClient.InstallAsAdmin);
+ var symbol = GlobalSymbolFactory.Instance.GetImage(GlobalSymbols.software_installer, UI.Telerik.SvgImageSize.Small).ToIcon();
+ dres = RadDialogBase.ShowDialog(dialog, parentForm, GeneralLangRes.Title_UpdatesAvailable, symbol).Result;
+ });
+
+ if (dres != DialogResult.OK)
+ {
+ // Cancel
+ cancel = true;
+ EndUpdating();
+ }
+ else
+ {
+ // Continue
+ cancel = false;
+ curProgressDialog?.Invoke(new Action(curProgressDialog.Show));
+ }
+
+ return cancel;
+ }
+}
\ No newline at end of file
diff --git a/Pilz.Updating.Client.Gui/UpdatesAvailableDialog.Designer.cs b/Pilz.Updating.Client.Gui/UpdatesAvailableDialog.Designer.cs
new file mode 100644
index 0000000..d912824
--- /dev/null
+++ b/Pilz.Updating.Client.Gui/UpdatesAvailableDialog.Designer.cs
@@ -0,0 +1,258 @@
+using Microsoft.VisualBasic.CompilerServices;
+using System.Diagnostics;
+
+namespace Pilz.Updating.Client.Gui
+{
+ [DesignerGenerated()]
+ internal partial class UpdatesAvailableDialog
+ {
+
+ // Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ [DebuggerNonUserCode()]
+ protected override void Dispose(bool disposing)
+ {
+ try
+ {
+ if (disposing && components is object)
+ {
+ components.Dispose();
+ }
+ }
+ finally
+ {
+ base.Dispose(disposing);
+ }
+ }
+
+ // Wird vom Windows Form-Designer benötigt.
+ private System.ComponentModel.IContainer components = new System.ComponentModel.Container();
+
+ // Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ // Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ // Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+ [DebuggerStepThrough()]
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(UpdatesAvailableDialog));
+ radButton_Cancel = new Telerik.WinControls.UI.RadButton();
+ radButton_Install = new Telerik.WinControls.UI.RadButton();
+ panel_ChangelogPanel = new Panel();
+ radLabel10 = new Telerik.WinControls.UI.RadLabel();
+ radLabel_CurrentVersionBuild = new Telerik.WinControls.UI.RadLabel();
+ radLabel7 = new Telerik.WinControls.UI.RadLabel();
+ radLabel_AvailableVersionBuild = new Telerik.WinControls.UI.RadLabel();
+ radLabel9 = new Telerik.WinControls.UI.RadLabel();
+ radLabel_CurrentVersionChannel = new Telerik.WinControls.UI.RadLabel();
+ radLabel3 = new Telerik.WinControls.UI.RadLabel();
+ radLabel_AvailableVersionChannel = new Telerik.WinControls.UI.RadLabel();
+ radLabel4 = new Telerik.WinControls.UI.RadLabel();
+ radLabel_CurrentVersion = new Telerik.WinControls.UI.RadLabel();
+ radLabel5 = new Telerik.WinControls.UI.RadLabel();
+ radLabel_AvailableVersion = new Telerik.WinControls.UI.RadLabel();
+ radLabel2 = new Telerik.WinControls.UI.RadLabel();
+ radLabel1 = new Telerik.WinControls.UI.RadLabel();
+ radPictureBox1 = new Telerik.WinControls.UI.RadPictureBox();
+ layoutControlLabelItem1 = new Telerik.WinControls.UI.LayoutControlLabelItem();
+ tableLayoutPanel1 = new TableLayoutPanel();
+ ((System.ComponentModel.ISupportInitialize)radButton_Cancel).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)radButton_Install).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel10).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel_CurrentVersionBuild).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel7).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel_AvailableVersionBuild).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel9).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel_CurrentVersionChannel).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel3).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel_AvailableVersionChannel).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel4).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel_CurrentVersion).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel5).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel_AvailableVersion).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel2).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel1).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)radPictureBox1).BeginInit();
+ tableLayoutPanel1.SuspendLayout();
+ SuspendLayout();
+ //
+ // radButton_Cancel
+ //
+ resources.ApplyResources(radButton_Cancel, "radButton_Cancel");
+ tableLayoutPanel1.SetColumnSpan(radButton_Cancel, 2);
+ radButton_Cancel.Name = "radButton_Cancel";
+ radButton_Cancel.Click += RadButton_Cancel_Click;
+ //
+ // radButton_Install
+ //
+ resources.ApplyResources(radButton_Install, "radButton_Install");
+ tableLayoutPanel1.SetColumnSpan(radButton_Install, 2);
+ radButton_Install.Name = "radButton_Install";
+ radButton_Install.Click += RadButton_Install_Click;
+ //
+ // panel_ChangelogPanel
+ //
+ resources.ApplyResources(panel_ChangelogPanel, "panel_ChangelogPanel");
+ tableLayoutPanel1.SetColumnSpan(panel_ChangelogPanel, 7);
+ panel_ChangelogPanel.Name = "panel_ChangelogPanel";
+ //
+ // radLabel10
+ //
+ resources.ApplyResources(radLabel10, "radLabel10");
+ tableLayoutPanel1.SetColumnSpan(radLabel10, 2);
+ radLabel10.Name = "radLabel10";
+ //
+ // radLabel_CurrentVersionBuild
+ //
+ resources.ApplyResources(radLabel_CurrentVersionBuild, "radLabel_CurrentVersionBuild");
+ radLabel_CurrentVersionBuild.Name = "radLabel_CurrentVersionBuild";
+ //
+ // radLabel7
+ //
+ resources.ApplyResources(radLabel7, "radLabel7");
+ radLabel7.Name = "radLabel7";
+ //
+ // radLabel_AvailableVersionBuild
+ //
+ resources.ApplyResources(radLabel_AvailableVersionBuild, "radLabel_AvailableVersionBuild");
+ radLabel_AvailableVersionBuild.Name = "radLabel_AvailableVersionBuild";
+ //
+ // radLabel9
+ //
+ resources.ApplyResources(radLabel9, "radLabel9");
+ radLabel9.Name = "radLabel9";
+ //
+ // radLabel_CurrentVersionChannel
+ //
+ resources.ApplyResources(radLabel_CurrentVersionChannel, "radLabel_CurrentVersionChannel");
+ radLabel_CurrentVersionChannel.Name = "radLabel_CurrentVersionChannel";
+ //
+ // radLabel3
+ //
+ resources.ApplyResources(radLabel3, "radLabel3");
+ radLabel3.Name = "radLabel3";
+ //
+ // radLabel_AvailableVersionChannel
+ //
+ resources.ApplyResources(radLabel_AvailableVersionChannel, "radLabel_AvailableVersionChannel");
+ radLabel_AvailableVersionChannel.Name = "radLabel_AvailableVersionChannel";
+ //
+ // radLabel4
+ //
+ resources.ApplyResources(radLabel4, "radLabel4");
+ radLabel4.Name = "radLabel4";
+ //
+ // radLabel_CurrentVersion
+ //
+ resources.ApplyResources(radLabel_CurrentVersion, "radLabel_CurrentVersion");
+ radLabel_CurrentVersion.Name = "radLabel_CurrentVersion";
+ //
+ // radLabel5
+ //
+ resources.ApplyResources(radLabel5, "radLabel5");
+ tableLayoutPanel1.SetColumnSpan(radLabel5, 2);
+ radLabel5.Name = "radLabel5";
+ //
+ // radLabel_AvailableVersion
+ //
+ resources.ApplyResources(radLabel_AvailableVersion, "radLabel_AvailableVersion");
+ radLabel_AvailableVersion.Name = "radLabel_AvailableVersion";
+ //
+ // radLabel2
+ //
+ resources.ApplyResources(radLabel2, "radLabel2");
+ tableLayoutPanel1.SetColumnSpan(radLabel2, 2);
+ radLabel2.Name = "radLabel2";
+ //
+ // radLabel1
+ //
+ resources.ApplyResources(radLabel1, "radLabel1");
+ tableLayoutPanel1.SetColumnSpan(radLabel1, 6);
+ radLabel1.Name = "radLabel1";
+ //
+ // radPictureBox1
+ //
+ resources.ApplyResources(radPictureBox1, "radPictureBox1");
+ radPictureBox1.Name = "radPictureBox1";
+ //
+ // layoutControlLabelItem1
+ //
+ resources.ApplyResources(layoutControlLabelItem1, "layoutControlLabelItem1");
+ layoutControlLabelItem1.Bounds = new Rectangle(0, 52, 428, 39);
+ layoutControlLabelItem1.DisabledTextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault;
+ layoutControlLabelItem1.DrawText = false;
+ layoutControlLabelItem1.Name = "layoutControlLabelItem1";
+ layoutControlLabelItem1.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault;
+ layoutControlLabelItem1.UseCompatibleTextRendering = false;
+ //
+ // tableLayoutPanel1
+ //
+ resources.ApplyResources(tableLayoutPanel1, "tableLayoutPanel1");
+ tableLayoutPanel1.Controls.Add(radButton_Install, 3, 5);
+ tableLayoutPanel1.Controls.Add(radButton_Cancel, 5, 5);
+ tableLayoutPanel1.Controls.Add(radPictureBox1, 0, 0);
+ tableLayoutPanel1.Controls.Add(radLabel1, 1, 0);
+ tableLayoutPanel1.Controls.Add(panel_ChangelogPanel, 0, 4);
+ tableLayoutPanel1.Controls.Add(radLabel5, 0, 1);
+ tableLayoutPanel1.Controls.Add(radLabel10, 0, 3);
+ tableLayoutPanel1.Controls.Add(radLabel_CurrentVersion, 2, 1);
+ tableLayoutPanel1.Controls.Add(radLabel4, 3, 2);
+ tableLayoutPanel1.Controls.Add(radLabel3, 3, 1);
+ tableLayoutPanel1.Controls.Add(radLabel_CurrentVersionChannel, 4, 1);
+ tableLayoutPanel1.Controls.Add(radLabel_AvailableVersionChannel, 4, 2);
+ tableLayoutPanel1.Controls.Add(radLabel9, 5, 2);
+ tableLayoutPanel1.Controls.Add(radLabel7, 5, 1);
+ tableLayoutPanel1.Controls.Add(radLabel_CurrentVersionBuild, 6, 1);
+ tableLayoutPanel1.Controls.Add(radLabel_AvailableVersionBuild, 6, 2);
+ tableLayoutPanel1.Controls.Add(radLabel2, 0, 2);
+ tableLayoutPanel1.Controls.Add(radLabel_AvailableVersion, 2, 2);
+ tableLayoutPanel1.Name = "tableLayoutPanel1";
+ //
+ // UpdatesAvailableDialog
+ //
+ resources.ApplyResources(this, "$this");
+ AutoScaleMode = AutoScaleMode.Font;
+ Controls.Add(tableLayoutPanel1);
+ Name = "UpdatesAvailableDialog";
+ Controls.SetChildIndex(tableLayoutPanel1, 0);
+ ((System.ComponentModel.ISupportInitialize)radButton_Cancel).EndInit();
+ ((System.ComponentModel.ISupportInitialize)radButton_Install).EndInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel10).EndInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel_CurrentVersionBuild).EndInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel7).EndInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel_AvailableVersionBuild).EndInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel9).EndInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel_CurrentVersionChannel).EndInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel3).EndInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel_AvailableVersionChannel).EndInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel4).EndInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel_CurrentVersion).EndInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel5).EndInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel_AvailableVersion).EndInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel2).EndInit();
+ ((System.ComponentModel.ISupportInitialize)radLabel1).EndInit();
+ ((System.ComponentModel.ISupportInitialize)radPictureBox1).EndInit();
+ tableLayoutPanel1.ResumeLayout(false);
+ ResumeLayout(false);
+ }
+
+ private Telerik.WinControls.UI.RadPictureBox radPictureBox1;
+ private Telerik.WinControls.UI.RadLabel radLabel1;
+ private Telerik.WinControls.UI.RadLabel radLabel_CurrentVersion;
+ private Telerik.WinControls.UI.RadLabel radLabel5;
+ private Telerik.WinControls.UI.RadLabel radLabel_AvailableVersion;
+ private Telerik.WinControls.UI.RadLabel radLabel2;
+ private Telerik.WinControls.UI.LayoutControlLabelItem layoutControlLabelItem1;
+ private Telerik.WinControls.UI.RadLabel radLabel_CurrentVersionBuild;
+ private Telerik.WinControls.UI.RadLabel radLabel7;
+ private Telerik.WinControls.UI.RadLabel radLabel_AvailableVersionBuild;
+ private Telerik.WinControls.UI.RadLabel radLabel9;
+ private Telerik.WinControls.UI.RadLabel radLabel_CurrentVersionChannel;
+ private Telerik.WinControls.UI.RadLabel radLabel3;
+ private Telerik.WinControls.UI.RadLabel radLabel_AvailableVersionChannel;
+ private Telerik.WinControls.UI.RadLabel radLabel4;
+ private Panel panel_ChangelogPanel;
+ private Telerik.WinControls.UI.RadLabel radLabel10;
+ private Telerik.WinControls.UI.RadButton radButton_Cancel;
+ private Telerik.WinControls.UI.RadButton radButton_Install;
+ private TableLayoutPanel tableLayoutPanel1;
+ }
+}
\ No newline at end of file
diff --git a/Pilz.Updating.Client.Gui/UpdatesAvailableDialog.cs b/Pilz.Updating.Client.Gui/UpdatesAvailableDialog.cs
new file mode 100644
index 0000000..0f7fc79
--- /dev/null
+++ b/Pilz.Updating.Client.Gui/UpdatesAvailableDialog.cs
@@ -0,0 +1,115 @@
+using Pilz.UI.Telerik;
+using Pilz.UI.Telerik.Dialogs;
+using Pilz.Updating.Client.Gui.LangRes;
+using Telerik.WinControls.UI;
+
+namespace Pilz.Updating.Client.Gui;
+
+internal partial class UpdatesAvailableDialog : RadFlyoutBase
+{
+ public UpdatesAvailableDialog(Image appIcon, string curVersion, string curChannel, string curBuild, string newVersion, string newChannel, string newBuild, UpdateNotes updateNotes, bool installAsAdmin)
+ {
+ InitializeComponent();
+ ActionPanelVisible = false;
+
+ radButton_Cancel.SvgImage = GlobalSymbolFactory.Instance.GetSvgImage(GlobalSymbols.software_installer, SvgImageSize.Small);
+
+ if (installAsAdmin)
+ radButton_Install.Image = BaseFeatures.GetUacShieldImage();
+ else
+ radButton_Install.SvgImage = GlobalSymbolFactory.Instance.GetSvgImage(GlobalSymbols.software_installer, SvgImageSize.Small);
+
+ if (appIcon == null)
+ radPictureBox1.SvgImage = GlobalSymbolFactory.Instance.GetSvgImage(GlobalSymbols.software_installer, SvgImageSize.Large);
+ else
+ radPictureBox1.Image = appIcon;
+
+ radLabel_CurrentVersion.Text = curVersion;
+ radLabel_CurrentVersionChannel.Text = curChannel;
+ radLabel_CurrentVersionBuild.Text = curBuild;
+ radLabel_AvailableVersion.Text = newVersion;
+ radLabel_AvailableVersionChannel.Text = newChannel;
+ radLabel_AvailableVersionBuild.Text = newBuild;
+
+ SetNotes(updateNotes);
+ }
+
+ private void SetNotes(UpdateNotes updateNotes)
+ {
+ // Internal
+ if (updateNotes.Mode == UpdateNotesMode.Internal && !string.IsNullOrWhiteSpace(updateNotes.ContentUrl) && TryDownloadContent(updateNotes.ContentUrl) is string content)
+ {
+ switch (updateNotes.ContentType)
+ {
+ case UpdateNotesContentType.PlainText:
+ SetNotesControls(new RadRichTextEditor
+ {
+ Text = content
+ });
+ return;
+ case UpdateNotesContentType.Markdown:
+ SetNotesControls(new Westermo.HtmlRenderer.WinForms.HtmlPanel
+ {
+ Text = Markdig.Markdown.ToHtml(content)
+ });
+ return;
+ case UpdateNotesContentType.HTML:
+ SetNotesControls(new Westermo.HtmlRenderer.WinForms.HtmlPanel
+ {
+ Text = content
+ });
+ return;
+ }
+ }
+
+ // External
+ if (updateNotes.Mode == UpdateNotesMode.External && !string.IsNullOrWhiteSpace(updateNotes.ExternalUrl))
+ {
+ var label = new RadLabel
+ {
+ AutoSize = false,
+ Text = string.Format(GeneralLangRes.NotesLinkToExternal, updateNotes.ExternalUrl),
+ TextAlignment = ContentAlignment.MiddleCenter,
+ };
+ SetNotesControls(label);
+ return;
+ }
+
+ // None or not supported or fallback
+ SetNotesControls(new RadLabel
+ {
+ AutoSize = false,
+ Text = GeneralLangRes.NotesNotAvailable,
+ TextAlignment = ContentAlignment.MiddleCenter,
+ });
+ return;
+ }
+
+ private void SetNotesControls(Control updateNotesControl)
+ {
+ updateNotesControl.Dock = DockStyle.Fill;
+ panel_ChangelogPanel.Controls.Add(updateNotesControl);
+ }
+
+ private static string TryDownloadContent(string contentUrl)
+ {
+ try
+ {
+ return new HttpClient().GetStringAsync(contentUrl).Result;
+ }
+ catch
+ {
+ }
+ return null;
+ }
+
+ private void RadButton_Install_Click(object sender, EventArgs e)
+ {
+ Close(DialogResult.OK);
+ }
+
+ private void RadButton_Cancel_Click(object sender, EventArgs e)
+ {
+ Close(DialogResult.Cancel);
+ }
+}
\ No newline at end of file
diff --git a/Pilz.Updating.Client.Gui/UpdatesAvailableDialog.de.resx b/Pilz.Updating.Client.Gui/UpdatesAvailableDialog.de.resx
new file mode 100644
index 0000000..92d28d1
--- /dev/null
+++ b/Pilz.Updating.Client.Gui/UpdatesAvailableDialog.de.resx
@@ -0,0 +1,641 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Abbrechen
+
+
+ Installieren
+
+
+
+ 106, 18
+
+
+ Änderungshinweise:
+
+
+ 36, 18
+
+
+ Kanal:
+
+
+ 36, 18
+
+
+ Kanal:
+
+
+ 101, 18
+
+
+ Installierte Version:
+
+
+ 105, 18
+
+
+ Verfügbare Version:
+
+
+ <html><span style="font-size: 18pt">Aktualisierung verfügbar</span></html>
+
+
+
+ AAABAAQAEBAAAAEAIABoBAAARgAAACAgAAABACAAqBAAAK4EAAAwMAAAAQAgAKglAABWFQAAQEAAAAEA
+ IAAoQgAA/joAACgAAAAQAAAAIAAAAAEAIAAAAAAAMAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AACflXUYno94RJ6PeESej3hEno94RJ6PeESej3hEno94RJ6PeESej3hEno94RJuQehcAAAAAAAAAAAAA
+ AAAAAAAAnJF42ZyQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/gp90/5iSd/+dkHjXAAAAAAAA
+ AAAAAAAAAAAAAJyQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/y/PZ/+BoHT/nJB4/wAA
+ AAAAAAAAAAAAAAAAAACckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP8AAAAAAAAAAAAAAAAAAAAAeW9Z/2VbRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Vb
+ Rf96b1n/AAAAAAAAAAAAAAAAAAAAAGRbRvdkWkX/ZFpF/2RaRf9kWkX/ZVtF/2VbRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZlpF9gAAAAAAAAAAAAAAAAAAAABkWkXOZFpF/2RaRf9kWkX/ZVtF/7yoHv+3pCD/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRM0AAAAAAAAAAAAAAAAAAAAAZFtFo2RaRf9kWkX/ZVtF/7yoHv//5QD//+UA/7ek
+ IP9kWkX/ZFpF/2RaRf9lWkWiAAAAAAAAAAAAAAAAAAAAAGNbRnlkWkX/ZFpF/4p8NP/BrRz/69MJ/+vT
+ Cf/BrRz/iXs0/2RaRf9kWkX/ZFlEeAAAAAAAAAAAAAAAAAAAAABlXEVOZFpF/2RaRf9kWkX/ZFpF///l
+ AP//5QD/ZFpF/2RaRf9kWkX/ZFpF/2NZRk0AAAAAAAAAAAAAAAAAAAAAY1xHJGRaRf9kWkX/ZFpF/2Ra
+ Rf//5QD//+UA/2RaRf9kWkX/ZFpF/2RaRf9mV0IjAAAAAAAAAAAAAAAAAAAAAICAgAJkWkXuZFpF/2Ra
+ Rf9kWkX//+UA///lAP9kWkX/ZFpF/2RaRf9kWkXsgICAAgAAAAAAAAAAAAAAAAAAAAAAAAAAZFpFSmVb
+ RbRkWka7ZFpGu//lAP//5QD/ZFpGu2RaRrtlW0W0ZVtGTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAD/5gCr/+YAqwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8AAP//
+ AADAAwAAwAMAAMADAADAAwAAwAMAAMADAADAAwAA4AcAAOAHAADgBwAA4AcAAPAPAAD+fwAA//8AACgA
+ AAAgAAAAQAAAAAEAIAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJuPeVSbkHihnJB4qpyQeKqckHiqnJB4qpyQeKqckHiqnJB4qpyQ
+ eKqckHiqnJB4qpyQeKqckHiqnJB4qpyQeKqckHiqnJB4qpyQeKqckHiqnI94oJ2QeFMAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACbj3h7nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5uR
+ d3gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyQeOeckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/3Cpcv9JwGz/ipp1/5yQ
+ eP+ckHj/nJB45QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/H9hl/xfd
+ ZP9Mv2z/nJB4/5yQeP+ckHj/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP9JwGz/Iddl/3Kocf+ckHj/nJB4/5yQeP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAnJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAACYjHT/d21W/2ZcR/9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9mXEf/d2xW/5eLdP8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZsVv9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/d2xW/wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZltG/GRaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9nXEf7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABjWkXfZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2ZdRP9mXET/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRd4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVbRbRkWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9lW0T/xbIa/8CsHP9lW0X/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpEswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZFtEimRa
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZVtE/8WyGv//5QD//+UA/8CsHP9lW0X/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9lWUWJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABjW0ZfZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2VbRf/ArBz//+UA///lAP//5QD//+UA/8Cs
+ HP9lW0X/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRF4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAGVbQzVkWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9lW0X/wKwc///lAP//5QD//+UA///l
+ AP//5QD//+UA/8CtHP9lW0X/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/YlhFNAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAYmJODWRaRf5kWkX/ZFpF/2RaRf9kWkX/ZVtF/8CsHP//5QD//+UA///l
+ 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
+ AB/4AAAf+AAAH/gAAB/4AAAf+AAAH/wAAD/8AAA//AAAP/wAAD/+AAB///w////8P///////////////
+ //8oAAAAMAAAAGAAAAABACAAAAAAAFAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAJmRdx6ckHetnJB48pyQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHjxnJB4rJ6Nex0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAmZN5KJyQeO6ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQee2ejXsdAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnI94sJyQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+dkXerAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnJB485yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/dady/yXVZv8m1Wb/dqZy/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHjxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/JtVm/xfdZP8X3WT/JtRn/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAnJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/JtRn/xfd
+ ZP8X3WT/J9Rn/5yQeP+ckHj/nJB4/5yQeP+ckHj/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAnJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/dady/yjTZ/8p02f/dqZy/5yQeP+ckHj/nJB4/5yQeP+ckHj/AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAnJB4/5aKcv92a1b/Z1xH/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9oXUj/dmxW/5WKcv+ckHj/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAlIdw/2deSP9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2heSP+VinL/AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdWtV/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf92a1b/AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZl1I/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9oXUj/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZFpF6mRa
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkXqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAZFpFwGRaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9oXkP/aF5D/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWUW/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAY1tElWRaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2dcRP/OuRb/yrUY/2ZcRP9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkWUAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZFtFa2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/Z1xE/865Fv//5QD//+UA/8q1GP9mXET/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9lWUZqAAAAAAAA
+ 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
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX//+UA///lAP//5QD//+UA///lAP//5QD/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFlFvwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABjW0SVZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX//+UA///lAP//5QD//+UA///l
+ AP//5QD/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpFlAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABkW0VrZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX//+UA///l
+ AP//5QD//+UA///lAP//5QD/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZVlGagAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABkXERAZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX//+UA///lAP//5QD//+UA///lAP//5QD/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZVlFPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmWUAUZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX//+UA///lAP//5QD//+UA///lAP//5QD/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/Xl5DEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZFpF3mRaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX//+UA///lAP//5QD//+UA///lAP//5QD/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkXbAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZFlFjGRa
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX//+UA///lAP//5QD//+UA///l
+ AP//5QD/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9jWkWIAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAYmJODWRaRd1kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX//+UA///l
+ AP//5QD//+UA///lAP//5QD/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rd5iYk4NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGFYRh1kWUWrZFpF62RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX//+UA///lAP//5QD//+UA///lAP//5QD/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkXqZFtFpmFVSRUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA/+UA///lAP//5QD//+UA///lAP//5QD/AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+UA///lAP//5QD//+UA///lAP//5QD/AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+UA///lAP//5QD//+UA///l
+ AP//5QD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////AAD///////8AAP8A
+ AAAA/wAA/gAAAAB/AAD8AAAAAD8AAPwAAAAAPwAA/AAAAAA/AAD8AAAAAD8AAPwAAAAAPwAA/AAAAAA/
+ AAD8AAAAAD8AAPwAAAAAPwAA/AAAAAA/AAD8AAAAAD8AAPwAAAAAPwAA/AAAAAA/AAD8AAAAAD8AAPwA
+ AAAAPwAA/AAAAAA/AAD+AAAAAH8AAP4AAAAAfwAA/gAAAAB/AAD+AAAAAH8AAP4AAAAAfwAA/gAAAAB/
+ AAD/AAAAAP8AAP8AAAAA/wAA/wAAAAD/AAD/AAAAAP8AAP8AAAAA/wAA/wAAAAD/AAD/gAAAAf8AAP+A
+ AAAB/wAA/4AAAAH/AAD/gAAAAf8AAP+AAAAB/wAA/8AAAAP/AAD/4AAAB/8AAP//+B///wAA///4H///
+ AAD///gf//8AAP///////wAA////////AAD///////8AAP///////wAAKAAAAEAAAACAAAAAAQAgAAAA
+ AAAAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqo5xCZ6SeT+ej3hEno94RJ6P
+ eESej3hEno94RJ6PeESej3hEno94RJ6PeESej3hEno94RJ6PeESej3hEno94RJ6PeESej3hEno94RJ6P
+ eESej3hEno94RJ6PeESej3hEno94RJ6PeESej3hEno94RJ6PeESej3hEno94RJ6PeESej3hEno94RJ6P
+ eESej3hEno94RJ6PeESej3hEno94RJyQdz6fn4AIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACqqlUDnZF4f5yQ
+ ePGckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJF48JyQd3yqqlUDAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAD//wABnJB5pZyQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4o///AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAm5B3XJyQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+bj3hZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyReMKckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+UlXf/e6Nz/4uadv+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4vwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACckHjznJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP97o3P/H9hl/xfdZP8Y3GT/Wbdu/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ ePEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAnJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/MM9o/xfdZP8X3WT/F91k/xjdZP+Im3b/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/x/ZZv8X3WT/F91k/xfd
+ ZP8X3WT/eKVz/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP9DxGr/F91k/xfdZP8X3WT/INdl/5SVd/+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/kZd3/0TDa/8i1mX/NMxo/3yjc/+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAJyQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ
+ eP+ckHj/nJB4/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAACckHj/nJB4/5GGb/94bVf/aV5J/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/aV5J/3huV/+Sh2//nJB4/5yQeP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnJB4/4h9Zv9lW0b/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZltG/4l9Z/+ckHj/AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJKGbv9mW0b/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9lXEb/kodv/wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAB3bVb/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/3dtV/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAaV9J/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9qYEr/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVaRvhkWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFtG9wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkWkXOZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ RM0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAZFtFo2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9rYUL/a2BC/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9lWkWiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGNbRnlkWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9pX0P/1sAS/9G8
+ FP9oXkP/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFlEeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlXEVOZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9pX0P/1sAS///lAP//5QD/0bwU/2heQ/9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2NZRk0AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY1xHJGRa
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9pX0P/1sAS///lAP//5QD//+UA///lAP/RvBT/aF5D/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9mV0IjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAFVVVQNkWkX3ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9pX0P/1sAS///lAP//5QD//+UA///lAP//5QD//+UA/9G8
+ FP9oXkP/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX1gICAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZFpFzmRaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9pX0P/1sAS///lAP//5QD//+UA///l
+ AP//5QD//+UA///lAP//5QD/0bwU/2heQ/9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpEzQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRbRaNkWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9pX0P/1sAS///l
+ AP//5QD//+UA///lAP//5QD//+UA///lAP//5QD//+UA///lAP/RvBT/aF5D/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2VaRaIAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABjW0Z5ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9pX0P/1sAS///lAP//5QD//+UA///lAP//5QD//+UA///lAP//5QD//+UA///lAP//5QD//+UA/9G8
+ FP9oXkP/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWUR4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAZVxFTmRaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9pX0P/1sAS///lAP//5QD//+UA///lAP//5QD//+UA///lAP//5QD//+UA///l
+ AP//5QD//+UA///lAP//5QD/0bwU/2heQ/9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/Y1lGTQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGNcRyRkWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9pX0P/1sAS///lAP//5QD//+UA///lAP//5QD//+UA///l
+ AP//5QD//+UA///lAP//5QD//+UA///lAP//5QD//+UA///lAP/RvBT/aF5D/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2ZXQiMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVUDZFpF92Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9pX0P/1sAS///lAP//5QD//+UA///l
+ AP//5QD//+UA///lAP//5QD//+UA///lAP//5QD//+UA///lAP//5QD//+UA///lAP//5QD//+UA/9G8
+ FP9oXkP/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRfWAgIACAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAGRaRc5kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/g3Y3/6KS
+ Kf+ikin/opIp/6KSKf+ikin/opIp///lAP//5QD//+UA///lAP//5QD//+UA///lAP//5QD/opIp/6KS
+ Kf+ikin/opIp/6KSKf+ikin/g3Y3/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkTNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkW0WjZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf//5QD//+UA///lAP//5QD//+UA///l
+ AP//5QD//+UA/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZVpFogAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY1tGeWRaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX//+UA///l
+ AP//5QD//+UA///lAP//5QD//+UA///lAP9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RZRHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVc
+ RU5kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF///lAP//5QD//+UA///lAP//5QD//+UA///lAP//5QD/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9jWUZNAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABjXEckZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf//5QD//+UA///lAP//5QD//+UA///lAP//5QD//+UA/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZldCIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVVVVA2RaRfdkWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX//+UA///lAP//5QD//+UA///l
+ AP//5QD//+UA///lAP9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF9YCAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkWkXOZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF///l
+ AP//5QD//+UA///lAP//5QD//+UA///lAP//5QD/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRM0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAZFtFo2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf//5QD//+UA///lAP//5QD//+UA///lAP//5QD//+UA/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9lWkWiAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGNbRnlkWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX//+UA///lAP//5QD//+UA///lAP//5QD//+UA///l
+ AP9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFlEeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlXEVOZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF///lAP//5QD//+UA///l
+ AP//5QD//+UA///lAP//5QD/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2NZRk0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY1xHJGRa
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf//5QD//+UA///lAP//5QD//+UA///lAP//5QD//+UA/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9mV0IjAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAICAgAJkWkX0ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX//+UA///lAP//5QD//+UA///lAP//5QD//+UA///lAP9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkTygICAAgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZFpFwWRaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF///lAP//5QD//+UA///lAP//5QD//+UA///l
+ AP//5QD/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZVpFuQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVaRWBkWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf//5QD//+UA///l
+ AP//5QD//+UA///lAP//5QD//+UA/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RZRVkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AACAgIACZFpFvWRaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX//+UA///lAP//5QD//+UA///lAP//5QD//+UA///lAP9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRcGAgIACAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBgQBBkWkW4ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF///lAP//5QD//+UA///lAP//5QD//+UA///lAP//5QD/ZFpF/2Ra
+ Rf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2RaRf9kWkX/ZFpF/2VaRL5pWksRAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWNYREtkWkWXZFpFtWRa
+ RrtkWka7ZFpGu2RaRrtkWka7ZFpGu2RaRrtkWka7ZFpGu2RaRrv/5QD//+UA///lAP//5QD//+UA///l
+ AP//5QD//+UA/2RaRrtkWka7ZFpGu2RaRrtkWka7ZFpGu2RaRrtkWka7ZFpGu2RaRrtkWkW1ZFpGlmVb
+ RkkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+UA///l
+ AP//5QD//+UA///lAP//5QD//+UA///lAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAP/lAP//5QD//+UA///lAP//5QD//+UA///lAP//5QD/AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/5QD//+UA///lAP//5QD//+UA///lAP//5QD//+UA/wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+YAq//mAKv/5gCr/+YAq//m
+ AKv/5gCr/+YAq//mAKoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////
+ ///////////////////////////////gAAAAAAf//4AAAAAAAf//gAAAAAAB//8AAAAAAAD//wAAAAAA
+ AP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8A
+ AAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAA
+ AP//AAAAAAAA//+AAAAAAAH//4AAAAAAAf//gAAAAAAB//+AAAAAAAH//4AAAAAAAf//gAAAAAAB///A
+ AAAAAAP//8AAAAAAA///wAAAAAAD///AAAAAAAP//8AAAAAAA///wAAAAAAD///gAAAAAAf//+AAAAAA
+ B///4AAAAAAH///gAAAAAAf//+AAAAAAB///4AAAAAAH///wAAAAAA////AAAAAAD///8AAAAAAP///w
+ AAAAAA////AAAAAAD///+AAAAAAf///4AAAAAB////wAAAAAP////wAAAAD///////AP////////8A//
+ ///////wD/////////AP/////////////////////////////////////////////////////////w==
+
+
+
+ Aktualisierung
+
+
\ No newline at end of file
diff --git a/Pilz.Updating.Client.Gui/UpdatesAvailableDialog.resx b/Pilz.Updating.Client.Gui/UpdatesAvailableDialog.resx
new file mode 100644
index 0000000..354baf8
--- /dev/null
+++ b/Pilz.Updating.Client.Gui/UpdatesAvailableDialog.resx
@@ -0,0 +1,507 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ Bottom, Left, Right
+
+
+
+ 7
+
+
+ Fill
+
+
+
+ 0, 30
+
+
+ 6
+
+
+ 442, 357
+
+
+ 1
+
+
+ <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="radButton_Install" Row="5" RowSpan="1" Column="3" ColumnSpan="2" /><Control Name="radButton_Cancel" Row="5" RowSpan="1" Column="5" ColumnSpan="2" /><Control Name="radPictureBox1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="radLabel1" Row="0" RowSpan="1" Column="1" ColumnSpan="6" /><Control Name="panel_ChangelogPanel" Row="4" RowSpan="1" Column="0" ColumnSpan="7" /><Control Name="radLabel5" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="radLabel10" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="radLabel_CurrentVersion" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="radLabel4" Row="2" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="radLabel3" Row="1" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="radLabel_CurrentVersionChannel" Row="1" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="radLabel_AvailableVersionChannel" Row="2" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="radLabel9" Row="2" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="radLabel7" Row="1" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="radLabel_CurrentVersionBuild" Row="1" RowSpan="1" Column="6" ColumnSpan="1" /><Control Name="radLabel_AvailableVersionBuild" Row="2" RowSpan="1" Column="6" ColumnSpan="1" /><Control Name="radLabel2" Row="2" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="radLabel_AvailableVersion" Row="2" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,16,66667,Percent,16,66667,Percent,16,66667,Percent,16,66667,Percent,16,66667,Percent,16,66667" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /></TableLayoutSettings>
+
+
+ MiddleCenter
+
+
+ 321, 330
+
+
+ 118, 24
+
+
+ 17
+
+
+ Cancel
+
+
+ MiddleLeft
+
+
+ ImageBeforeText
+
+
+ Bottom, Left, Right
+
+
+ MiddleCenter
+
+
+ 197, 330
+
+
+ 118, 24
+
+
+ 17
+
+
+ Install
+
+
+ MiddleLeft
+
+
+ ImageBeforeText
+
+
+ Top, Bottom, Left, Right
+
+
+ 3, 161
+
+
+ 436, 163
+
+
+ 16
+
+
+ False
+
+
+ 3, 133
+
+
+ 63, 22
+
+
+ 15
+
+
+ Changelog:
+
+
+ Top, Left, Right
+
+
+ False
+
+
+ 383, 73
+
+
+ 56, 22
+
+
+ 14
+
+
+ ...
+
+
+ Top, Left, Right
+
+
+ False
+
+
+ 321, 73
+
+
+ 56, 22
+
+
+ 13
+
+
+ Build:
+
+
+ MiddleRight
+
+
+ Top, Left, Right
+
+
+ False
+
+
+ 383, 103
+
+
+ 56, 22
+
+
+ 12
+
+
+ ...
+
+
+ Top, Left, Right
+
+
+ False
+
+
+ 321, 103
+
+
+ 56, 22
+
+
+ 11
+
+
+ Build:
+
+
+ MiddleRight
+
+
+ Top, Left, Right
+
+
+ False
+
+
+ 259, 73
+
+
+ 56, 22
+
+
+ 10
+
+
+ ...
+
+
+ Top, Left, Right
+
+
+ False
+
+
+ 197, 73
+
+
+ 56, 22
+
+
+ 9
+
+
+ Channel:
+
+
+ MiddleRight
+
+
+ Top, Left, Right
+
+
+ False
+
+
+ 259, 103
+
+
+ 56, 22
+
+
+ 8
+
+
+ ...
+
+
+ Top, Left, Right
+
+
+ False
+
+
+ 197, 103
+
+
+ 56, 22
+
+
+ 7
+
+
+ Channel:
+
+
+ MiddleRight
+
+
+ Top, Left, Right
+
+
+ False
+
+
+ 135, 73
+
+
+ 56, 22
+
+
+ 6
+
+
+ ...
+
+
+ False
+
+
+ 3, 73
+
+
+ 87, 24
+
+
+ 5
+
+
+ Current Version:
+
+
+ Top, Left, Right
+
+
+ False
+
+
+ 135, 103
+
+
+ 56, 22
+
+
+ 4
+
+
+ ...
+
+
+ False
+
+
+ 3, 103
+
+
+ 94, 24
+
+
+ 3
+
+
+ Available Version:
+
+
+ Top, Left, Right
+
+
+ False
+
+
+ 73, 3
+
+
+ 366, 64
+
+
+ 1
+
+
+ <html><span style="font-size: 18pt">Update available</span></html>
+
+
+ MiddleCenter
+
+
+ 3, 3
+
+
+ 64, 64
+
+
+ 0
+
+
+ TopLeft
+
+
+ 0
+
+
+ False
+
+
+ 0, 0, 0, 0
+
+
+ 0, 0, 0, 0
+
+
+ False
+
+
+
+
+
+ Horizontal
+
+
+ False
+
+
+ True
+
+
+ 7, 15
+
+
+ 442, 417
+
+
\ No newline at end of file